SpringBoot - 集成 MyBatis 通用代码生成器 mybatis-generator(IDEA篇)
2021-09-19 21:42
896 查看
前言
最近项目中用到了
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
下双击运行即可
- 控制台日志
- 生成代码如下
相关文章推荐
- spring-boot 集成mybatis的分页插件PageHelper和Generator (番外)
- spring-boot 集成mybatis的分页插件PageHelper和Generator
- springboot 2.0 集成mybatis,mybatis-generator,pagehelper
- spring-boot集成mybatis-generator
- SpringBoot (十) 集成mybatis generator自动生成代码插件
- springboot2.0.5集成mybatis(PageHelper分页插件、generator插件使用)
- Spring Boot : 集成mybatis、pagehelper插件、开启事务、druid数据源配置、mybatis-generator(十一)
- springboot集成mybatis-generator
- spring-boot 集成mybatis的分页插件PageHelper和Generator (番外)
- SpringBoot学习教程 - 06 - 集成MyBatis Generator自动生成代码
- springboot 零xml集成mybatis
- springboot - 集成mybatis
- SpringBoot 集成MyBatis 中的@MapperScan注解
- SpringBoot入门-19(springboot集成mybatis注解形式增删查改properties配置,利用《script》实现动态SQL)
- Spring Boot系列教程七:Spring boot集成MyBatis
- Spring Boot集成Mybatis
- SpringBoot 入门教程:集成mybatis,redis
- 909422229_利用Eclipse将Springboot集成Mybatis教程
- Spring Boot 集成Mybatis操作数据库
- SpringBoot集成MyBatis的分页插件PageHelper(回头草)