简化MyBatis操作
Tk.MyBatis
引入依赖
在pom中 引入
tk.mybatis
依赖, 不需要引入mybatis
依赖
<!-- tk mybatis 简化mybatis 操作 -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>${tk.mybatis.mapper.version}</version>
</dependency>
在 application.yml
中配置MyBatis
# MyBatis 配置
mybatis:
type-aliases-package: work.idler.dtai.model.entity
mapper-locations: classpath:mapper/*.xml
创建一个通用的父级接口
主要作用是让 DAO 层的接口继承该接口, 以达到使用 tk.mybatis 的目的
package tk.mybatis;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;
/**
* 自己的 Mapper
* 主要作用是让 DAO 层的接口继承该接口,以达到使用 tk.mybatis 的目的
* 特别注意,该接口不能被扫描到,否则会出错
*
* @Auther: MaWenyi
* @Date: 2019/6/26
* @Description: tk.mybatis
* @version: 1.0
*/
public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> {
}
Spring Boot 整合 PageHelper
PageHelper
是 Mybatis 的分页插件, 支持多数据库、多数据源, 可以简化数据库的分页查询操作
引入依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
参考官网
使用 MyBatis 的 Maven 插件生成代码
引入插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- 代码生成插件 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
<configuration>
<configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>3.4.4</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
- configurationFile:自动生成所需的配置文件路径
自动生成的配置
在 src/main/resources/generator/ 目录下创建 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>
<!-- 引入数据库连接配置 -->
<properties resource="jdbc.properties"/>
<context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<!-- 配置 tk.mybatis 插件 -->
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<property name="mappers" value="tk.mybatis.MyMapper"/>
</plugin>
<!-- 配置数据库连接 -->
<jdbcConnection
driverClass="${jdbc.driverClass}"
connectionURL="${jdbc.connectionURL}"
userId="${jdbc.username}"
password="${jdbc.password}">
</jdbcConnection>
<!-- 配置实体类存放路径 -->
<javaModelGenerator targetPackage="work.idler.dtai.model.entity" targetProject="src/main/java"/>
<!-- 配置 XML 存放路径 -->
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/>
<!-- 配置 DAO 存放路径 -->
<javaClientGenerator
targetPackage="work.idler.dtai.repository"
targetProject="src/main/java"
type="XMLMAPPER"/>
<!-- 配置需要指定生成的数据库和表,% 代表所有表 -->
<table catalog="dtai" tableName="%">
<!-- mysql 配置 -->
<generatedKey column="id" sqlStatement="Mysql" identity="true"/>
</table>
</context>
</generatorConfiguration>
配置数据源
注意: yml中配置过的数据源不变
在 src/main/resources 目录下创建 jdbc.properties 数据源配置:
jdbc.driverClass=com.mysql.cj.jdbc.Driver
jdbc.connectionURL=jdbc:mysql://localhost:3306/xxx?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
jdbc.username=root
jdbc.password=xxx
插件自动生成命令
mvn mybatis-generator:generate
在idea中在maven 工具里,直接点解插件即可, 不需要输入命令