优雅地使用Mybatis逆向工程生成类

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 优雅地使用Mybatis逆向工程生成类

文/朱季谦

1.环境:SpringBoot

2.在pom.xml文件里引入相关依赖:

<plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.6</version><configuration><verbose>true</verbose><overwrite>true</overwrite></configuration><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.36</version></dependency></dependencies></plugin><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.6</version></dependency>

3.创建generatorConfig.xml文件

<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEgeneratorConfigurationPUBLIC"-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><contextid="testTables"targetRuntime="MyBatis3"><commentGenerator><!--是否去除自动生成的注释true:是false:--><propertyname="suppressAllComments"value="true"/></commentGenerator><!--数据库连接的信息:驱动类、连接地址、用户名、密码--><jdbcConnectiondriverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://127.0.0.1:3306/example?useUnicode=true&amp;characterEncoding=utf8"userId="root"password="123456"></jdbcConnection><!--默认false,把JDBCDECIMALNUMERIC类型解析为Integer,为true时把JDBCDECIMALNUMERIC类型解析为java.math.BigDecimal--><javaTypeResolver><propertyname="forceBigDecimals"value="false"/></javaTypeResolver><!--targetProject:生成PO类的位置--><javaModelGeneratortargetPackage="com.zhu.text.domain"targetProject=".\src\main\java"><!--enableSubPackages:是否让schema作为包的后缀--><propertyname="enableSubPackages"value="false"/><!--从数据库返回的值被清理前后的空格--><propertyname="trimStrings"value="true"/></javaModelGenerator><!--targetProject:mapper映射文件生成的位置--><sqlMapGeneratortargetPackage="com.zhu.text.dao"targetProject=".\src\main\java"><!--enableSubPackages:是否让schema作为包的后缀--><propertyname="enableSubPackages"value="false"/></sqlMapGenerator><!--targetPackage:mapper接口生成的位置--><javaClientGeneratortype="XMLMAPPER"targetPackage="com.zhu.text.dao"targetProject=".\src\main\java"><!--enableSubPackages:是否让schema作为包的后缀--><propertyname="enableSubPackages"value="false"/></javaClientGenerator><!--指定数据库表--><tabletableName="text_product"domainObjectName="Product"></table></context></generatorConfiguration>

4.创建main类

importjava.io.File;
importjava.util.ArrayList;
importjava.util.List;
importorg.mybatis.generator.api.MyBatisGenerator;
importorg.mybatis.generator.config.Configuration;
importorg.mybatis.generator.config.xml.ConfigurationParser;
importorg.mybatis.generator.internal.DefaultShellCallback;
publicclassMBGenerator {
publicstaticvoidmain(String[] args) throwsException{
List<String>warnings=newArrayList<String>();
booleanoverwrite=true;
FileconfigFile=newFile("例:generatorConfig.xml的存放路径");
ConfigurationParsercp=newConfigurationParser(warnings);
Configurationconfig=cp.parseConfiguration(configFile);
DefaultShellCallbackcallback=newDefaultShellCallback(overwrite);
MyBatisGeneratormyBatisGenerator=newMyBatisGenerator(config, callback, warnings);
myBatisGenerator.generate(null);
     }
 }

 

5.执行maven方法里的mybatis-generator:generate

完成以上步骤,就可以自定生成需要的xml文件与类以及对应的java bean类。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
|
7月前
|
XML Java 数据库连接
十一、MyBatis的逆向工程
十一、MyBatis的逆向工程
185 6
十一、MyBatis的逆向工程
|
Java 数据库连接 数据库
Mybatis逆向工程笔记小结
Mybatis逆向工程笔记小结
|
10月前
|
SQL 缓存 Java
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
本文详细介绍了MyBatis的各种常见用法MyBatis多级缓存、逆向工程、分页插件 包括获取参数值和结果的各种情况、自定义映射resultMap、动态SQL
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
|
10月前
|
Java 数据库连接 数据库
spring和Mybatis的逆向工程
通过本文的介绍,我们了解了如何使用Spring和MyBatis进行逆向工程,包括环境配置、MyBatis Generator配置、Spring和MyBatis整合以及业务逻辑的编写。逆向工程极大地提高了开发效率,减少了重复劳动,保证了代码的一致性和可维护性。希望这篇文章能帮助你在项目中高效地使用Spring和MyBatis。
221 1
|
11月前
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
450 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
|
Java 数据库连接 mybatis
SpringBoot配置Mybatis注意事项,mappers层下的name命名空间,要落实到Dao的video类,resultType要落到bean,配置好mybatis的对应依赖。
SpringBoot配置Mybatis注意事项,mappers层下的name命名空间,要落实到Dao的video类,resultType要落到bean,配置好mybatis的对应依赖。
|
存储 缓存 Java
探秘MyBatis缓存原理:Cache接口与实现类源码分析
探秘MyBatis缓存原理:Cache接口与实现类源码分析
207 2
探秘MyBatis缓存原理:Cache接口与实现类源码分析
|
XML Java 数据库连接
Mybatis逆向工程的2种方法,一键高效快速生成Pojo、Mapper、XML,摆脱大量重复开发
【5月更文挑战第10天】Mybatis逆向工程的2种方法,一键高效快速生成Pojo、Mapper、XML,摆脱大量重复开发
202 6
|
SQL 缓存 Java
Java框架之MyBatis 07-动态SQL-缓存机制-逆向工程-分页插件
Java框架之MyBatis 07-动态SQL-缓存机制-逆向工程-分页插件