Spring Boot 整合 Mybatis 和 MySQL

来源:互联网 发布:java中final和static 编辑:程序博客网 时间:2024/05/18 03:52

Spring Boot 使用 1.5.3.RELEASE

添加依赖

pom.xml 文件中添加 mybatis 和 MySQL 依赖包

<properties>        <mybatis-spring-boot>1.3.0</mybatis-spring-boot>        <mysql-connector>5.1.39</mysql-connector>    </properties>    <!-- Spring Boot Mybatis 依赖 -->        <dependency>            <groupId>org.mybatis.spring.boot</groupId>            <artifactId>mybatis-spring-boot-starter</artifactId>            <version>${mybatis-spring-boot}</version>        </dependency>        <!-- MySQL 连接驱动依赖 -->        <dependency>        <groupId>mysql</groupId>        <artifactId>mysql-connector-java</artifactId>        <version>${mysql-connector}</version>        </dependency>

mybatis 和 db 配置

application.properties 中添加如下配置

## 数据源配置spring.datasource.url=jdbc:mysql://localhost:3306/mytest?characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNullspring.datasource.username=rootspring.datasource.password=0123456789spring.datasource.driver-class-name=com.mysql.jdbc.Driver## Mybatis 配置mybatis.typeAliasesPackage=com.lzhenxing.myproject.domainmybatis.mapperLocations=classpath:mapper/*.xml

Dao 层代码

这块内容和普通的 mybatis 写法差不多,只简单说下,建个 dao 层的包,创建 UserDao 接口;新建 domain 包,创建一个 User PO;在 resource 目录下新建 mapper 包,存放 *Mapper.xml 文件。

不要忘了加上 dao 包扫描注解

@SpringBootApplication// mapper 接口类扫描包配置@MapperScan("com.lzhenxing.myproject.dao")public class MyprojectApplication {    public static void main(String[] args) {        SpringApplication.run(MyprojectApplication.class, args);    }}

单元测试和以前 spring 类似,或者看我之前的有关 spring boot 测试文章。

项目demo:https://github.com/lzx2011/springBootPractice

常见问题

<dependency>            <groupId>org.mybatis.spring.boot</groupId>            <artifactId>mybatis-spring-boot-starter</artifactId>            <version>1.2.0</version>        </dependency>

开始引用 1.2.0 版本时会报下面这个错误

Caused by: java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required

换成 1.3.0 就可以了,具体原因我现在也不太清楚,估计和依赖的 mybatis-spring 的版本有关,求告知。

原创粉丝点击