前言
演示項目代碼爲: [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了。