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;
项目结构此时如下所示:
(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右侧,找到如下插件,双击运行:
运行完之后,可以看到所需代码均已经生成:
4.配置mybatis包扫描
在application.yml中配置mybatis的mapper文件的位置:
##mybatis配置
mybatis:
mapper-locations: classpath:mybatis_mappers/*.xml
type-aliases-package: com.fix.entity
修改APP.java文件,指明Mapper类位置:
5.编写接口测试
在HelloRestController中添加如下代码:
在页面访问url:https://localhost:8081/test/users/1 ,页面返回数据:
从mysql中获取数据成功,表明mybatis配置成功。