SpringBoot集成MyBatis
2018-10-09 本文已影响0人
两句挽联
SpringBoot现在作为一款极其流行的微服务框架,在众多的项目和场景下有着非常广泛的使用,最近就其集成MyBatis踩的一些坑,在这里面和大家说一下,避免后续继续入坑。
引用软件版本
见如下pom文件
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
项目结构
如下,我们最关注的是mapper、xml和配置文件
配置文件
springboot默认使用的配置文件是application.properties,里面需要配置mybatis相关使用的相关信息和数据库信息
#mybatis mapperxml location
mybatis.mapperLocations=classpath:com.mapper/*.xml
#must use spring.datasource prefix
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=root
如上,mybatis.mapperLocations
指明了使用到的mybatis配置文件地址,会自动扫描这个配置文件。下面是配置的一些数据源的信息,注意,这边默认读取的是以spring.datasource
开头的配置
xml配置
<?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.mapper.TTSMapper">
<insert id="createTask" parameterType="com.po.TTSTask">
<!-- use uuid as primary key-->
<selectKey keyProperty="id" resultType="string" order="BEFORE">
select uuid()
</selectKey>
insert into t_tts_task (id,text,creator,status,createTime) values
(#{id},#{text},#{creator},#{status},#{createTime})
</insert>
</mapper>
如上,是一个简单的配置,其中selectKey
部分是用来自动生成随机数作为主键的配置。
mapper类
@Mapper
@Repository
public interface TTSMapper {
int createTask(TTSTask task);
}
这边要注意的是@Mapper
这个注解需要添加,否则无法使用@Autowired
注入,另外,添加@Repository
是为了防止idea工具提示错误。
感谢阅读!