如何优雅地使用Mybatis逆向工程生成类
文/朱季谦
1.环境:SpringBoot
2.在pom.xml文件里引入相关依赖:
1 <plugin>
2 <groupId>org.mybatis.generator</groupId>
3 <artifactId>mybatis-generator-maven-plugin</artifactId>
4 <version>1.3.6</version>
5 <configuration>
6 <verbose>true</verbose>
7 <overwrite>true</overwrite>
8 </configuration>
9 <dependencies>
10 <dependency>
11 <groupId>mysql</groupId>
12 <artifactId>mysql-connector-java</artifactId>
13 <version>5.1.36</version>
14 </dependency>
15 </dependencies>
16
17 </plugin>
18
19
20
21 <dependency>
22 <groupId>org.mybatis.generator</groupId>
23 <artifactId>mybatis-generator-core</artifactId>
24 <version>1.3.6</version>
25 </dependency>
3.创建generatorConfig.xml文件
1 <?xml version="1.0" encoding="UTF-8"?>
2
3 <!DOCTYPE generatorConfiguration
4 PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
5 "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
6
7 <generatorConfiguration>
8 <context id="testTables" targetRuntime="MyBatis3">
9 <commentGenerator>
10 <!-- 是否去除自动生成的注释 true:是 : false:否 -->
11 <property name="suppressAllComments" value="true" />
12 </commentGenerator>
13 <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
14 <jdbcConnection driverClass="com.mysql.jdbc.Driver"
15 connectionURL="jdbc:mysql://127.0.0.1:3306/example?useUnicode=true&characterEncoding=utf8"
16 userId="root"
17 password="123456">
18 </jdbcConnection>
19
20 <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL
21 和 NUMERIC 类型解析为java.math.BigDecimal -->
22 <javaTypeResolver>
23 <property name="forceBigDecimals" value="false" />
24 </javaTypeResolver>
25
26 <!-- targetProject:生成PO类的位置 -->
27 <javaModelGenerator targetPackage="com.zhu.text.domain"
28 targetProject=".\src\main\java">
29 <!-- enableSubPackages:是否让schema作为包的后缀 -->
30 <property name="enableSubPackages" value="false" />
31 <!-- 从数据库返回的值被清理前后的空格 -->
32 <property name="trimStrings" value="true" />
33 </javaModelGenerator>
34 <!-- targetProject:mapper映射文件生成的位置 -->
35 <sqlMapGenerator targetPackage="com.zhu.text.dao"
36 targetProject=".\src\main\java">
37 <!-- enableSubPackages:是否让schema作为包的后缀 -->
38 <property name="enableSubPackages" value="false" />
39 </sqlMapGenerator>
40 <!-- targetPackage:mapper接口生成的位置 -->
41 <javaClientGenerator type="XMLMAPPER"
42 targetPackage="com.zhu.text.dao" targetProject=".\src\main\java">
43 <!-- enableSubPackages:是否让schema作为包的后缀 -->
44 <property name="enableSubPackages" value="false" />
45 </javaClientGenerator>
46 <!-- 指定数据库表 -->
47 <table tableName="text_product" domainObjectName="Product"></table>
48 </context>
49 </generatorConfiguration>
4.创建main类
1 import java.io.File;
2 import java.util.ArrayList;
3 import java.util.List;
4 import org.mybatis.generator.api.MyBatisGenerator;
5 import org.mybatis.generator.config.Configuration;
6 import org.mybatis.generator.config.xml.ConfigurationParser;
7 import org.mybatis.generator.internal.DefaultShellCallback;
8
9 public class MBGenerator {
10 public static void main(String[] args) throws Exception{
11
12 List<String> warnings = new ArrayList<String>();
13 boolean overwrite = true;
14 File configFile = new File("例:generatorConfig.xml的存放路径");
15 ConfigurationParser cp = new ConfigurationParser(warnings);
16 Configuration config = cp.parseConfiguration(configFile);
17 DefaultShellCallback callback = new DefaultShellCallback(overwrite);
18 MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
19 myBatisGenerator.generate(null);
20 }
21 }
5.执行maven方法里的mybatis-generator:generate

完成以上步骤,就可以自定生成需要的xml文件与类以及对应的java bean类。
如何优雅地使用Mybatis逆向工程生成类的更多相关文章
- Mybatis逆向工程生成类文件
首先,我们需要建好相关文件夹目录: 然后,编写执行脚本 generator.xml : 1 <?xml version="1.0" encoding="UTF-8& ...
- MyBatis逆向工程生成的Example类的方法总结
很早之前就在项目开发中多次使用MyBatis逆向工程生成的Example类,但一直没有对其下的方法做一个简单的总结,现总结如下:一.mapper接口中的方法解析mapper接口中的部分常用方法及功能如 ...
- Mybatis逆向工程生成po、mapper接口、mapper.xml
Mybatis逆向工程生成po.mapper接口.mapper.xml 一.新建一个maven工程 请查看我的另一篇博客:<使用idea创建一个maven工程> 二.引入所需依赖 需要my ...
- MyBatis逆向工程生成配置 generator (生成pojo、mapper.xml、mapper.java)
MyBatis逆向工程生成 mybatis需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java.mapper.xml ...
- 使用最新版Mybatis逆向工程生成属性不全的问题
这是出现问题时打印的日志 首先查看表内的字段 这张User表含8个属性,但是在逆向工程过程中生成的Pojo类不全还出现了不存在的属性 主要在逆向工程过程中的一个配置问题,修改generatorConf ...
- mybatis逆向工程生成JavaBean、dao、mapper generatorSqlmapCustom
import java.io.File; import java.util.ArrayList; import java.util.List; import org.mybatis.generator ...
- mybatis逆向工程生成代码
1 什么是逆向工程 mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的代码(mapper.java,mapper.xml.po. ...
- mybatis逆向工程生成java代码和xml配置
mybatis官方提供了一个逆向工程包,可以针对数据库表自动生成mybatis执行所需要的Pojo.Mapper xml文件.Mapper 接口文件. mybatis-generator有很多种用法: ...
- mybatis逆向工程生成mapper报错
Result Maps collection already contains value for xxxMapper.BaseResultMap错误解决办法一.问题描述今天在做项目时,遇到一个错误: ...
- mybatis逆向工程生成example的问题
如果不想生成example,在 targetRuntime="MyBatis3" 处修改为 targetRuntime="MyBatis3Simple" & ...
随机推荐
- paramiko连接windows10详解,远程管理windows服务器
1.win10安装 OpenSSH 官网链接:https://docs.microsoft.com/zh-cn/windows-server/administration/openssh/openss ...
- 2024 FIC取证比赛wp(更新中)
本次竞赛容器挂载密码为: 2024Fic@杭州Powered~by~HL! 2024年4月,卢某报案至警方,声称自己疑似遭受了"杀猪盘"诈骗,大量钱财被骗走.卢某透露,在与某公司交 ...
- 腾讯消息队列CMQ一键化部署脚本
CMQ-1.0.2-软件包.tar安装包放在家目录,脚本也放在家目录,然后执行:sh -x cmq_install.sh [ip1] [ip2] [ip3] 即可 下列脚本代码保存为:cmq_inst ...
- 7.18考试总结(NOIP模拟19)[u·v·w]
我们不是狼,我们只是长着獠牙的羊...... 前言 我真 TM 爱死 \(\frac{1}{4}\) 了. 老实说,这套题是真恶心,第一题还有一点思路,到了后面是一点都搞不定了. 总的来说,主要原因是 ...
- 网页唤起qq加群
今天在网上大浪淘沙了一番,90%的教程都是使用的鹅厂官方的加群组件,但是有个致命bug就是这个加群组件只能唤起自己创建的群,这就很尴尬了,后来偶然发现在qq群资料那边就可以直接获取到加群的链接,害得我 ...
- B站login-极验逆向
声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 目标网站 https:// ...
- LVGL8文本框设置长文本会自动滚动到文本最后解决方法
在创建完成并设置完文本之后加一句 lv_obj_scroll_to_y(obj,0, LV_ANIM_OFF); 就可以了 原因:官方控件里面设置文本的接口里面设置文本后会设置一次光标位置到文本末尾, ...
- Mysql常见安装失败的解决方法
问题一:安装时出现Initializing database失败 解决方法: 1.关闭安装页面并卸载MySQL Installer与MySQL Server (如果卸载不掉需要重启电脑) 2.查看并勾 ...
- shiro有哪些组件?
a.Authentication:身份认证/登录,验证用户是不是拥有相应的身份: b.Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限:即判断用户是否能做事情,常见的 ...
- 什么是spring框架?
spring是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,是一个分层的javaEE一站式轻量级开源框架