文/朱季谦

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&amp;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逆向工程生成类的更多相关文章

  1. Mybatis逆向工程生成类文件

    首先,我们需要建好相关文件夹目录: 然后,编写执行脚本 generator.xml : 1 <?xml version="1.0" encoding="UTF-8& ...

  2. MyBatis逆向工程生成的Example类的方法总结

    很早之前就在项目开发中多次使用MyBatis逆向工程生成的Example类,但一直没有对其下的方法做一个简单的总结,现总结如下:一.mapper接口中的方法解析mapper接口中的部分常用方法及功能如 ...

  3. Mybatis逆向工程生成po、mapper接口、mapper.xml

    Mybatis逆向工程生成po.mapper接口.mapper.xml 一.新建一个maven工程 请查看我的另一篇博客:<使用idea创建一个maven工程> 二.引入所需依赖 需要my ...

  4. MyBatis逆向工程生成配置 generator (生成pojo、mapper.xml、mapper.java)

    MyBatis逆向工程生成 mybatis需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java.mapper.xml ...

  5. 使用最新版Mybatis逆向工程生成属性不全的问题

    这是出现问题时打印的日志 首先查看表内的字段 这张User表含8个属性,但是在逆向工程过程中生成的Pojo类不全还出现了不存在的属性 主要在逆向工程过程中的一个配置问题,修改generatorConf ...

  6. mybatis逆向工程生成JavaBean、dao、mapper generatorSqlmapCustom

    import java.io.File; import java.util.ArrayList; import java.util.List; import org.mybatis.generator ...

  7. mybatis逆向工程生成代码

    1 什么是逆向工程 mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的代码(mapper.java,mapper.xml.po. ...

  8. mybatis逆向工程生成java代码和xml配置

    mybatis官方提供了一个逆向工程包,可以针对数据库表自动生成mybatis执行所需要的Pojo.Mapper xml文件.Mapper 接口文件. mybatis-generator有很多种用法: ...

  9. mybatis逆向工程生成mapper报错

    Result Maps collection already contains value for xxxMapper.BaseResultMap错误解决办法一.问题描述今天在做项目时,遇到一个错误: ...

  10. mybatis逆向工程生成example的问题

    如果不想生成example,在 targetRuntime="MyBatis3" 处修改为  targetRuntime="MyBatis3Simple"  & ...

随机推荐

  1. 九、.net core(.NET 6)添加通用的Redis功能

     .net core 编写通用的Redis功能 在 Package项目里面,添加包:StackExchange.Redis: 在Common工具文件夹下,新建 Wsk.Core.Redis类库项目,并 ...

  2. 谈谈 JVM 垃圾回收机制

    前言 垃圾回收需要思考三件事情,哪些内存需要回收?什么时候回收?如何回收? 一.哪些内存需要回收 JVM 的内存区域中,程序计数器.虚拟机栈和本地方法栈的生命周期是随线程而生,随线程而灭的.这几个区域 ...

  3. 【Azure Developer】如何通过Azure Portal快速获取到对应操作的API并转换为Python代码

    问题描述 对于Azure资源进行配置操作,门户上可以正常操作.但是想通过Python代码实现,这样可以批量处理.那么在没有SDK的情况下,是否有快速办法呢? 问题解答 当然可以,Azure Porta ...

  4. prometheus使用3

    不错链接 60.Prometheus-alertmanager.邮件告警配置   https://www.cnblogs.com/ygbh/p/17306539.html 服务发现 基于文件的服务发现 ...

  5. Linux系统修改命令提示符格式及颜色

    放到全局环境变量.注意自己是放全局还是自己家目录下环境的 echo "export PS1='[\[\e[35;1m\]\u\[\e[31;1m\]@\[\e[34;1m\]\h \[\e[ ...

  6. Spring 面向切面编程AOP 详细讲解

    1. Spring 面向切面编程AOP 详细讲解 @ 目录 1. Spring 面向切面编程AOP 详细讲解 每博一文案 2. AOP介绍说明 2.1 AOP的七大术语 2.2 AOP 当中的 切点表 ...

  7. 记一次 .NET某酒店后台服务 卡死分析

    一:背景 1. 讲故事 停了一个月没有更新文章了,主要是忙于写 C#内功修炼系列的PPT,现在基本上接近尾声,可以回头继续更新这段时间分析dump的一些事故报告,有朋友微信上找到我,说他们的系统出现了 ...

  8. AI实战 | 使用元器打造浪漫仪式小管家

    浪漫仪式小管家 以前我们曾经打造过学习助手和待办助手,但这一次,我们决定创造一个与众不同的智能体,而浪漫将成为我们的主题.我们选择浪漫作为主题,是因为我们感到在之前的打造过程中缺乏了一些仪式感,无法给 ...

  9. 椭圆曲线密码学(ECC)加解密,附带python代码

    想起来很久没写博客了,刚好今天要写实验报告,随便把之前的也完成吧 1.椭圆曲线概念 椭圆曲线在经过化解后,可以用这条式子表达:E:y²=x³+ax+b 其背后的密码学原理,是基于椭圆曲线离散对数问题, ...

  10. react路由渲染

    三种渲染方式 component = (组件对象或函数) <Route path="/home" component={Home} /> 或 <Route pat ...