spring boot整合mybatis单数据源(使用mybatis****)

1.添加maven依赖
springboot整合mybatis,需要添加如下依赖:

<!--mybatis配置-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>${mybatis-spring-boot}</version>
        </dependency>
        <!-- mybatis分页插件 -->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>${pagehelper.version}</version>
        </dependency>
        <!--mysql-connector配置-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql-connector}</version>
        </dependency>
        <!-- druid阿里巴巴数据库连接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>${druid.version}</version>
        </dependency>

各插件版本号在<properties>中定义:

		<mybatis-spring-boot>1.2.0</mybatis-spring-boot>
        <mysql-connector>5.1.39</mysql-connector>
        <druid.version>1.1.9</druid.version>
        <pagehelper.version>1.2.10</pagehelper.version>

2.数据源配置:
在application.yml中加入如下数据源配置代码:

spring:
  ##数据源配置
  datasource:
    name: mysqlDataSource
    url: jdbc:mysql://192.168.72.129:3306/testdb
    username: proxyuser
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
    filters: star
    maxActive: 20
    initialSize: 1
    maxWait: 60000
    minIdle: 1
    timeBetweenEvictionRunsMillis: 60000
    minEvictableIdleTimeMillis: 300000
    validationQuery: select 'x'
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    poolPreparedStatements: true
    maxOpenPreparedStatements: 20

3.配置mybatis****
通过mybatis****,可以快速生成mapper文件,javabean文件,以及Mapper接口。
(1)创建必要的包和文件夹
在src/main/resources下面新建文件夹mybatis_mappers,用于存放生成的Mapper.xml文件;
新建com.fix.entity包,用于存放生成的javabean文件;
新建com.fix.mappers包,用于存放生成的
Mapper.java文件;
在src/main/resources下面新建文件夹generator,用于存放****配置文件generatorConfig.xml;
项目结构此时如下所示:
spring boot整合mybatis单数据源(使用mybatis****)
(2)配置****配置文件
****配置文件generatorConfig.xml内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
    <!-- 数据库驱动,location需要指明mysql-connector-java-5.1.38.jar在本地的路径-->
    <classPathEntry  location="F:\mybatis-generator\mysql-connector-java-5.1.38.jar"/>
    <context id="mysqlTables"  targetRuntime="MyBatis3">
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!--数据库链接URL,用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://192.168.72.129:3306/testdb" userId="proxyuser" password="123456">
        </jdbcConnection>
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!-- 生成模型的包名和位置-->
        <javaModelGenerator targetPackage="com.fix.entity" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!-- 生成映射文件的包名和位置-->
        <sqlMapGenerator targetPackage="mybatis_mappers" targetProject="src/main/resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <!-- 生成DAO的包名和位置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.fix.mappers" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
        <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
        <table tableName="t_user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
    </context>
</generatorConfiguration>

需要按照实际情况,修改jar包位置,mysql连接参数,以及需要生成的表名。
(3)配置maven插件
使用****,需要配置一个maven插件:

 <!-- mybatis generator 自动生成代码插件 -->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <configuration>
                    <configurationFile>../springboot_example/src/main/resources/generator/generatorConfig.xml</configurationFile>
                    <overwrite>true</overwrite>
                    <verbose>true</verbose>
                </configuration>
            </plugin>

(4)运行插件,生成代码
在IDEA右侧,找到如下插件,双击运行:
spring boot整合mybatis单数据源(使用mybatis****)
运行完之后,可以看到所需代码均已经生成:
spring boot整合mybatis单数据源(使用mybatis****)
4.配置mybatis包扫描
在application.yml中配置mybatis的mapper文件的位置:

##mybatis配置
mybatis:
  mapper-locations: classpath:mybatis_mappers/*.xml
  type-aliases-package: com.fix.entity

修改APP.java文件,指明Mapper类位置:
spring boot整合mybatis单数据源(使用mybatis****)
5.编写接口测试
在HelloRestController中添加如下代码:
spring boot整合mybatis单数据源(使用mybatis****)
在页面访问url:https://localhost:8081/test/users/1 ,页面返回数据:
spring boot整合mybatis单数据源(使用mybatis****)
从mysql中获取数据成功,表明mybatis配置成功。