赞
踩
工作时候总是没时间总结一下,但是每次新建项目的时候都会去网上找一些对照笔记去参考,最近再弄一个开源项目,需要搭建一下环境和配置,不如自己把搭建SpringBoot的步骤记录一下。
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<!-- Mysql驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
# 数据源配置 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://172.17.0.207:3306/yx-regiserve?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: yx-regiserve password: aX3W2ELGZfdKJEJc # MyBatis配置 mybatis: # 搜索指定包别名 typeAliasesPackage: com.yanxi.yxregiserve.web.domin.** # 配置mapper的扫描,找到所有的mapper.xml映射文件 mapperLocation: classpath*:mapper/**/*Mapper.xml # 加载全局的配置文件 configLocation: classpath:mybatis/mybatis-config.xml # MyBatis默认配置 #mybatis: # # 扫描的 mapper 的路径 # mapper-locations: classpath*:mapper/**/*Mapper.xml # # 扫描实体类路径 # type-aliases-package: com.yanxi.yxregiserve.web.domin.** # # 为了看到SQL语句配置的日志输出信息 方便调试 # configuration: # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
直接将mapper的扫描配置,和装载SqlSessionFactory在MyBatis.config。这样配置纯属个人喜好,可以根据自己的实际项目,自定义配置。
如果要跟着我配置,这一段可以不看。 如果要选择默认的话,需要更改appliation.yml中的myBatis的配置(改为注释掉的配置),然后就不需要MyBatis.config。需要在mapper接口直接配置注解 @mapper
即可,或者 在启动main方法上边配置 @MapperScan("com.yanxi.**.mapper")
。
@Configuration @MapperScan("com.yanxi.**.mapper") public class MyBatisConfig { @Autowired private DataSource dataSource; @Autowired private Environment env; /** * * @return * @throws Exception */ @Bean public SqlSessionFactory sqlSessionFactory() throws Exception { String typeAliasesPackage = env.getProperty("mybatis.typeAliasesPackage"); String mapperLocation = env.getProperty("mybatis.mapperLocation"); String configLocation = env.getProperty("mybatis.configLocation"); final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); sessionFactory.setDataSource(dataSource); sessionFactory.setTypeAliasesPackage(typeAliasesPackage); //可以引入多个,但是本项目只需要引入一个路径。 List<Resource> resources = Arrays.asList(new PathMatchingResourcePatternResolver().getResources(mapperLocation)); sessionFactory.setMapperLocations(resources.toArray(new Resource[resources.size()])); sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation)); return sessionFactory.getObject(); } @Bean public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) { return new SqlSessionTemplate(sqlSessionFactory); } }
@RestController @RequestMapping(value = "/configDatas") public class ConfigDataController extends BaseController { @Autowired private ConfigDataService configDataService; /** * 查询配置列表 */ @GetMapping("/list") public AjaxResult list(ConfigData configData) { List<ConfigData> list = configDataService.selectTList(configData); return AjaxResult.success(list); } }
接口类
public interface ConfigDataService extends BaseService<ConfigData> {
/**
* id查询
*
* @param id 自增id
* @return
*/
public T selectTById(Long id);
}
实现类
@Service
public class ConfigDataServiceImpl {
@Autowired
public ConfigDataMapper configDataMapper;
@Override
public ConfigData selectTById(Long id) {
return configDataMapper.selectTById(id);
}
}
如果是默认配置,没有加扫描注解@MapperScan("com.yanxi.**.mapper")
可以加 @Mapper
。
//@Mapper
public interface ConfigDataMapper {
/**
* id查询
*
* @param id 自增id
* @return
*/
public T selectTById(Long id);
}
注意:在resource目录下配置的文件,路径一定要个mapper文件路径一致。
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.yanxi.yxregiserve.web.mapper.system.ConfigDataMapper"> <resultMap id="ConfigDataResult" type="com.yanxi.yxregiserve.web.domin.system.ConfigData"> <result column="id" property="id"/> <result column="key" property="key"/> <result column="value" property="value"/> <result column="tag" property="tag"/> <result column="remark" property="remark"/> <result column="num" property="num"/> </resultMap> <sql id="selectConfigVo"> select id, `key`, `value` , `tag` , remark , num from config_data </sql> <select id="selectTById" parameterType="Long" resultMap="ConfigDataResult"> <include refid="selectConfigVo"/> where id = #{id} </select> </mapper>
OK咱们的搭建就完成了,非常的简单啊!
一定要多思考,如果人永远待在舒适圈的话,人永远不会成长。共勉。
觉得作者写的不错的,值得你们借鉴的话,就请点一个免费的赞吧!这个对我来说真的很重要。૮(˶ᵔ ᵕ ᵔ˶)ა
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。