Spring Boot集成Mybatis有多种方法,可以类似之前Spring配置xml的形式,也可以通过Java Config的形式,但都不是Spring Boot提倡的简化方式,比较繁琐,我们这里主要介绍这简便的方法。
1.maven依赖
Spring Boot将一系列支持boot的包都称为starter,针对Mybatis的集成也有相应的starter包,即mybatis-spring-boot-starter
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.0.0</version>
</dependency>
2.配置文件
配置文件可以用传统的properties形式,也可以用yml形式,相对来说,yml更为简洁,视觉效果也更好。
如下,配置了spring.dataSource的一些连接信息和mybatis的xml路径及包信息
#spring数据源配置
spring:
datasource:
name: test
url: jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=utf8
username: root
password: 666666
# 使用druid数据源
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
#mybatis配置
mybatis:
mapperLocations: classpath:mapper/*.xml
typeAliasesPackage: org.tanzc
typeAliasesSuperType: org.tanzc.sys.entity.BaseEntity
如果用properties的形式:
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=666666
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=org.tanzc
3.代码实现
之后就是跟spring项目中mybatis的使用一样,新建xml并写sql,然后指定接口。
例如,新建userDao.xml
<select id="getByLoginName" resultType="User">
SELECT
<include refid="userColumns"/>
FROM sys_user a
<include refid="userJoins"/>
WHERE a.login_name= #{loginName}
</select>
新建userDao.java接口
public interface UserDao extends BaseDao<User> {
public User getByLoginName(String loginName);
}