mybatis-generator自动代码生成
前言
mybatis-generator在日常生产开发中可以简化开发过程,不需要写各种sql语句,通过配置generator就可自动生成。官方网址:mybatis-generator官网
配置mybatis-generator
1. 导入maven依赖
<project ...>
...
<build>
...
<plugins>
...
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.4.1</version>
</plugin>
...
</plugins>
...
</build>
...
</project>
2. 防止重复写入
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.4.1</version>
<!-- 防止xml文件重复写入 -->
<configuration>
<overwrite>true</overwrite>
</configuration>
</plugin>
3.从官网导入generator-config.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>
<!-- 修改为自己本地maven仓库的mysql的jar包地址 -->
<classPathEntry location="D:\Java\maven\maven_repository\mysql\mysql-connector-java\8.0.29\mysql-connector-java-8.0.29.jar" />
<context id="DB2Tables" targetRuntime="MyBatis3">
<!-- 不再追加xml -->
<plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" />
<commentGenerator>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!-- 修改为自己的数据库连接 -->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/mall?characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true"
userId="root"
password="123456">
</jdbcConnection>
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 修改为自己项目实体类包路径 -->
<javaModelGenerator targetPackage="com.example.mall.pojo" targetProject="src\main\java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 修改为自己项目sql.xml包路径 -->
<sqlMapGenerator targetPackage="mappers" targetProject="src\main\resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 修改为自己项目mapper类包路径 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mall.mapper" targetProject="src\main\java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 修改为需要自动生成的表,配置不需要繁琐;domain代表生成的实体类包名 -->
<table tableName="mall_order" domainObjectName="Order"/>
</context>
</generatorConfiguration>
运行
打开IDEA自带Terminal,输入mvn mybatis-generator:generate
运行,出现以下提示,再次检查是否成功生成文件。
总结
至此,mybatis-generator自动生成代码机制完成。若生成的方法譬如selectByExample()
,参数类型不是实体,需转换,详情请见http://t.csdn.cn/RTNwI。