SpringBoot - 整合 MyBatis 通用程式碼生成器 mybatis-generator(IDEA篇)
阿新 • • 發佈:2021-09-19
目錄
- End -
﹀
﹀
﹀
白嫖有風險
點贊加收藏
以上為本篇文章的主要內容,希望大家多提意見,如果喜歡記得點個推薦哦
作者:Maggieq8324
出處:https://www.cnblogs.com/maggieq8324/
本文版權歸作者和部落格園共有,歡迎轉載,轉載時保留原作者和文章地址即可。
前言
最近專案中用到了Mybatis
的通用程式碼生成器mybatis-generator
,記起之前記錄過的一篇文章
mybatis 生成程式碼配置 mybatis-generator:generate 的使用詳解,用的是同一套東西,只是對比起之前添了一點東西
1、開發工具Eclipse -> Idea
2、新增Lombok模組
3、模組配置
之前的部落格名也改為了SpringBoot - 整合 MyBatis 通用程式碼生成器 mybatis-generator(Eclipse篇)
,新舊實現,有需要的可對比看看
環境
Mysql + IDEA
SpringBoot2.5.4 + Mybatis2.1.5
具體實現
程式碼配置
pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.4</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.coisini</groupId> <artifactId>user-center</artifactId> <version>0.0.1-SNAPSHOT</version> <name>user-center</name> <description>user-center project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- mybatis 通用 mapper --> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>2.1.5</version> </dependency> <!-- mysql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <!-- lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.8</version> <scope>provided</scope> </dependency> <!-- test --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!-- 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.16</version> </dependency> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper</artifactId> <version>4.1.5</version> </dependency> </dependencies> </plugin> </plugins> </build> </project>
application.yml
spring:
datasource:
url: jdbc:mysql://localhost:3306/user_center?useSSL=false&serverTimezone=UTC&characterEncoding=UTF-8
username: root
password: sunday
driver-class-name: com.mysql.cj.jdbc.Driver
resources/generator/generatorConfig.xml
<!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="generator/config.properties"/> <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat"> <property name="beginningDelimiter" value="`"/> <property name="endingDelimiter" value="`"/> <plugin type="tk.mybatis.mapper.generator.MapperPlugin"> <property name="mappers" value="tk.mybatis.mapper.common.Mapper"/> <property name="caseSensitive" value="true"/> <property name="lombok" value="Getter,Setter,ToString"/> </plugin> <jdbcConnection driverClass="${jdbc.driverClass}" connectionURL="${jdbc.url}" userId="${jdbc.user}" password="${jdbc.password}"> </jdbcConnection> <!--實體--> <javaModelGenerator targetPackage="com.coisini.usercenter.domain.entity.${moduleName}" targetProject="src/main/java"/> <!--mapper.xml--> <sqlMapGenerator targetPackage="com.coisini.usercenter.dao.${moduleName}" targetProject="src/main/resources"/> <!--mapper介面--> <javaClientGenerator targetPackage="com.coisini.usercenter.dao.${moduleName}" targetProject="src/main/java" type="XMLMAPPER"/> <!--生成程式碼表名--> <table tableName="${tableName}"> <generatedKey column="id" sqlStatement="JDBC"/> </table> </context> </generatorConfiguration>
注:上述程式碼中的模板變數引用自config.properties
resources/generator/config.properties
jdbc.driverClass=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/user_center?useSSL=false&serverTimezone=UTC&characterEncoding=UTF-8&nullCatalogMeansCurrent=true
jdbc.user=root
jdbc.password=sunday
# 模組名稱
moduleName=user
# 表名
tableName=user
注:nullCatalogMeansCurrent=true是避免Mybatis Generator
生成檔案的時使用Mysql
資料庫的同名數據表
執行
Maven-》專案-》Plugins-》mybatis-generator
下雙擊執行即可
- 控制檯日誌
- 生成程式碼如下