Spring Boot 整合 Mybatis 和 MySQL

Spring Boot 使用 1.5.3.RELEASE

添加依赖

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

<properties>
        <mybatis-spring-boot>1.3.0mybatis-spring-boot>
        <mysql-connector>5.1.39mysql-connector>
    properties>

    
        <dependency>
            <groupId>org.mybatis.spring.bootgroupId>
            <artifactId>mybatis-spring-boot-starterartifactId>
            <version>${mybatis-spring-boot}version>
        dependency>

        
        <dependency>
        <groupId>mysqlgroupId>
        <artifactId>mysql-connector-javaartifactId>
        <version>${mysql-connector}version>
        dependency>

mybatis 和 db 配置

application.properties 中添加如下配置

## 数据源配置
spring.datasource.url=jdbc:mysql://localhost:3306/mytest?characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
spring.datasource.username=root
spring.datasource.password=0123456789
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

## Mybatis 配置
mybatis.typeAliasesPackage=com.lzhenxing.myproject.domain
mybatis.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.bootgroupId>
            <artifactId>mybatis-spring-boot-starterartifactId>
            <version>1.2.0version>
        dependency>

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

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

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

你可能感兴趣的:(Spring,Boot)