最近在做创业项目的时候因为有比较多的新需求 , 需要频繁基于DDL生成Mybatis适合的实体、MApper接口和映射文件 。其中 , 代码生成器是MyBatis Generator(MBG) , 用到了Mybatis-Generator-Core相关依赖 , 这里通过一篇文章详细地分析这个代码生成器的使用方式 。本文编写的时候使用的Mybatis-Generator版本为1.4.0 , 其他版本没有进行过调研 。
引入插件Mybatis-Generator的运行方式有很多种:
- 基于mybatis-generator-core-x.x.x.jar和其XML配置文件 , 通过命令行运行 。
- 通过Ant的Task结合其XML配置文件运行 。
- 通过Maven插件运行 。
- 通过JAVA代码和其XML配置文件运行 。
- 通过Java代码和编程式配置运行 。
- 通过Eclipse Feature运行 。
ClassPath:generatorConfig.xml 。
通过编码和配置文件运行通过编码方式去运行插件先需要引入mybatis-generator-core依赖 , 编写本文的时候最新的版本为:
<dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.4.0</version></dependency>
假设编写好的XML配置文件是ClassPath下的generator-configuration.xml , 那么使用代码生成器的编码方式大致如下:
List<String> warnings = new ArrayList<>();// 如果已经存在生成过的文件是否进行覆盖boolean overwrite = true;File configFile = new File("ClassPath路径/generator-configuration.xml");ConfigurationParser cp = new ConfigurationParser(warnings);Configuration config = cp.parseConfiguration(configFile);DefaultShellCallback callback = new DefaultShellCallback(overwrite);MyBatisGenerator generator = new MyBatisGenerator(config, callback, warnings);generator.generate(null);
通过Maven插件运行如果使用Maven插件 , 那么不需要引入mybatis-generator-core依赖 , 只需要引入一个Maven的插件mybatis-generator-maven-plugin:
<plugins><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.4.0</version><executions><execution><id>Generate MyBatis Artifacts</id><goals><goal>generate</goal></goals></execution></executions><configuration><!-- 输出详细信息 --><verbose>true</verbose><!-- 覆盖生成文件 --><overwrite>true</overwrite><!-- 定义配置文件 --><configurationFile>${basedir}/src/main/resources/generator-configuration.xml</configurationFile></configuration></plugin></plugins>
mybatis-generator-maven-plugin的更详细配置和可选参数可以参考:Running With Maven 。插件配置完毕之后 , 使用下面的命令即可运行:
mvn mybatis-generator:generate
XML配置文件详解XML配置文件才是Mybatis-Generator的核心 , 它用于控制代码生成的所有行为 。所有非标签独有的公共配置的Key可以在mybatis-generator-core的PropertyRegistry类中找到 。下面是一个相对完整的配置文件的模板:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><properties resource="db.properties"/><classPathEntry location="/Program Files/IBM/SQLLIB/java/db2java.zip" /><context id="DB2Tables" targetRuntime="MyBatis3"><jdbcConnection driverClass="COM.ibm.db2.jdbc.app.DB2Driver"connectionURL="jdbc:db2:TEST"userId="db2admin"password="db2admin"></jdbcConnection><plugin type="org.mybatis.generator.plugins.SerializablePlugin"/><commentGenerator><property name="suppressDate" value=https://www.isolves.com/it/cxkf/kj/2021-08-12/"true"/>
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 如何挑选金银花
- 如何挑选干花椒叶
- 如何挑选油茶籽油
- 春季养生花茶搭配,养生花茶的搭配与功效
- 喝普洱茶的禁忌,喝普洱茶的禁忌要注意几点
- 花生|5招韩国大热的瘦身吃法,看似什么都能吃,却又跟常人吃得不一样
- NVIDIA|NVIDIA更新GeForce Now:为Apple Silicon处理器提供原生支持
- 月薪|月薪1.4万招不到机械毕业生引热议:学生早被其它厂二三十万年薪签走
- 杜仲泡酒,杜仲泡酒养生功效大
- 行尸走肉|卡罗尔演员退出《行尸走肉》衍生剧 原计划与弩哥共同主演