Use of MyBatis Code Generator
The MyBatis code generator can help us quickly build some fixed code
Important: The code generated by the code generator cannot be modified, otherwise the modified content may be lost if you rerun the code generator after adding a new field.
MyBatis代码生成器可以帮助我们快速的构建一些固定的代码
重要:代码生成器生成的代码不能被修改,否则在新增新的字段以后,再次运行代码生成器,修改后的内容可能会丢失
Main step:
在项目中引入代码生成器的主要步骤:
- 新建生成器模块,引入相关插件
<!-- mybatis generator 自动生成代码插件 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.4.0</version>
<configuration>
<!--<configurationFile>src/main/resources/generator-config-member.xml</configurationFile>配置文件存放路径-->
<configurationFile>src/main/resources/generator-config-business.xml</configurationFile>
<!--<configurationFile>src/main/resources/generator-config-batch.xml</configurationFile>-->
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.22</version>
</dependency>
</dependencies>
</plugin>
- 在新模块的resources下加入如下的xml文件,里面有一些具体的配置根据自己的项目进行修改
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<context id="Mysql" targetRuntime="MyBatis3" defaultModelType="flat">
<!-- 自动检查关键字,为关键字增加反引号 -->
<property name="autoDelimitKeywords" value="true"/>
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<!--覆盖生成XML文件-->
<plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" />
<!-- 生成的实体类添加toString()方法 -->
<plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>
<!-- 不生成注释 -->
<commentGenerator>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!-- 配置数据源,需要根据自己的项目修改 -->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://rm-uf62v90x7t5hukv5dro.mysql.rds.aliyuncs.com/train_member?serverTimezone=Asia/Shanghai"
userId="train_member"
password="Member123">
</jdbcConnection>
<!-- domain类的位置 targetProject是相对pom.xml的路径-->
<javaModelGenerator targetProject="../member/src/main/java"
targetPackage="com.jiawa.train.member.domain"/>
<!-- mapper xml的位置 targetProject是相对pom.xml的路径 -->
<sqlMapGenerator targetProject="../member/src/main/resources"
targetPackage="mapper"/>
<!-- mapper类的位置 targetProject是相对pom.xml的路径 -->
<javaClientGenerator targetProject="../member/src/main/java"
targetPackage="com.jiawa.train.member.mapper"
type="XMLMAPPER"/>
<!--<table tableName="member" domainObjectName="Member"/>-->
<table tableName="passenger" domainObjectName="Passenger"/>
</context>
</generatorConfiguration>
when we come into a problem ofURI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)
:
在导入上述文件的过程中,可能会出现
URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)
这个问题,解决方案参考这篇文章
- 运行上述的插件,可以得到数据库对应的实体类,并且生成mapper层常用的方法以及sql xml文件
最近使用了一下代码生成器生成的代码,它的基本用法和MyBatisPlus差不多,使用Example类定义查询条件。