前言
演示项目代码为: [Spring Boot]04 使用IDEA快速搭建多模块项目。
一、引入依赖
引入通用Mapper和Mapper插件依赖:
<!-- Mapper -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
<!-- 通用Mapper插件 -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-generator</artifactId>
<version>1.1.5</version>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.6</version>
</dependency>
二、插件配置
Maven插件配置mybatis generator 自动生成器:
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.6</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>8.0.19</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>4.0.0</version>
</dependency>
</dependencies>
</plugin>
三、配置文件
配置文件目录:${basedir}/src/main/resources/generator/generatorConfig.xml
在配置文件目录创建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>
<context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<property name="javaFileEncoding" value="UTF-8"/>
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<property name="mappers" value="tk.mybatis.mapper.common.Mapper"/>
<property name="caseSensitive" value="true"/>
<property name="forceAnnotation" value="true"/>
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<property name="swagger" value="true"/>
</plugin>
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://.../shopping"
userId=""
password="" />
<javaModelGenerator targetPackage="com.shopping.bi.model"
targetProject="src/main/java" />
<sqlMapGenerator targetPackage="com.shopping.bi.mapper"
targetProject="src/main/resources" />
<javaClientGenerator targetPackage="com.shopping.bi.mapper"
targetProject="src/main/java" type="XMLMAPPER" />
<table schema="shopping" tableName="tbl_admin" domainObjectName="AdminEntity" mapperName="AdminMapper">
<generatedKey column="id" sqlStatement="JDBC" identity="true"/>
</table>
</context>
</generatorConfiguration>
此处为数据库连接信息,shopping为数据库名:
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://.../shopping"
userId=""
password="" />
此处为要自动生成的表,数据库名:shopping,表名:tbl_admin
<table schema="shopping" tableName="tbl_admin" domainObjectName="AdminEntity" mapperName="AdminMapper">
<generatedKey column="id" sqlStatement="JDBC" identity="true"/>
</table>
四、生成代码
当前目录结构:
1、在com.shopping.bi文件夹下面创建4个文件夹:bo(业务对象)、mapper(自动生成)、model(自动生成)、service(服务)。
2、去数据库(shopping)创建表:tbl_admin。
建表SQL语句:
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for tbl_admin
-- ----------------------------
DROP TABLE IF EXISTS `tbl_admin`;
CREATE TABLE `tbl_admin` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '管理员id',
`account` varchar(45) CHARACTER SET utf8mb4 NOT NULL COMMENT '管理员帐号',
`name` varchar(45) CHARACTER SET utf8mb4 DEFAULT '' COMMENT '管理员名字',
`mobile` bigint(20) DEFAULT NULL COMMENT '管理员手机',
`loginpwd` varchar(128) CHARACTER SET utf8mb4 NOT NULL DEFAULT '' COMMENT '登录密码',
`logintoken` varchar(128) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '鉴权token',
`roleid` bigint(20) DEFAULT NULL COMMENT '角色id',
`loginip` varchar(45) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '登录ip',
`lastlogintime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '最后登录时间',
`dept` varchar(45) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '部门',
`loginnum` int(11) NOT NULL DEFAULT '0' COMMENT '登录次数',
`state` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态 0删除 1有效',
`createtime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modifytime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='后台管理员表';
SET FOREIGN_KEY_CHECKS = 1;
3、生成代码
在IDEA右侧点击Maven,shopping-bi里面找到mybatis-generator插件,双击mybatis-generator自动生成代码。
如果报错:Could not find artifact com.shopping:shopping-server:pom:0.0.1-SNAPSHOT
解决方法:去除relativePath
生成代码后的目录:
4、补充bo(业务对象)、service(服务)里面的代码
OK了。