SpringBoot集成MyBatis
SpringBoot集成MyBatis
在项目的pom.xml文件中加入依赖
<!--集成MyBatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis_spring.version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
在resource目录下创建mybatis目录,创建mybatis-config.xml文件,内容如下
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
</configuration>
在resource/mybatis目录下创建mapper目录,并将Entity的mapper文件放在这里
比如User.java是个Entity,那么需要这样放置mapper文件:resource/mybatis/mapper/user/UserMapper.xml
在application.properties文件中添加MyBatis配置
############# MyBatis配置 ############
mybatis.config-location=classpath:mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath*:mybatis/mapper/**/*.xml
为了配置多数据源,SpringBoot取消的sqlSessionFactory的自动注入功能,所以在BaseDaoImpl中添加如下内容:
public class BaseDaoImpl extends SqlSessionDaoSupport {
@Autowired
public void setSqlSessionFactory(SqlSessionFactory sqlSessionFactory) {
super.setSqlSessionFactory(sqlSessionFactory);
}
}
其他的Dao实现类继承这个BaseDaoImpl就可以用this.getSqlSession()获取sqlsession了