pom.xml
<dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-typehandlers-jsr310</artifactId> </dependency>
generatorConfig.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> <properties resource="generatorConfig.properties"/> <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat"> <property name="beginningDelimiter" value="`"/> <property name="endingDelimiter" value="`"/> <property name="runtimeCatalog" value="true"/> <plugin type="${mapper.plugin}"> <property name="mappers" value="${mapper.Mapper}"/> </plugin> <plugin type="org.mybatis.generator.plugins.SerializablePlugin"/> <jdbcConnection driverClass="${jdbc.driverClass}" connectionURL="${jdbc.url}" userId="${jdbc.user}" password="${jdbc.password}"> </jdbcConnection> <javaTypeResolver> <property name="forceBigDecimals" value="false"/> <property name="useJSR310Types" value="true"/> </javaTypeResolver> <javaModelGenerator targetPackage="${targetModelPackage}" targetProject="${targetJavaProject}"/> <sqlMapGenerator targetPackage="${targetMapperPackage}" targetProject="${targetResourcesProject}"/> <javaClientGenerator targetPackage="${targetMapperPackage}" targetProject="${targetJavaProject}" type="XMLMAPPER"/> <!-- 表配置 tableName 表名 domainObjectName java类名,首字母必须大写,否则报字符串越界谬误 --> <!-- Base --> <!-- <table tableName="base_app" domainObjectName="base.AppDao">--> <!-- <generatedKey column="id" sqlStatement="Mysql" identity="true"/>--> <!-- <columnOverride column="status" javaType="com.hehewang.hhw.app.common.enums.dao.SimpleStatusEnum"/>--> <!-- <columnOverride column="platform" javaType="com.hehewang.hhw.app.common.enums.dao.AppPlatformEnum"/>--> <!-- </table>--> </context></generatorConfiguration>
generatorConfig.properties
# 数据库配置jdbc.driverClass = com.mysql.cj.jdbc.Driverjdbc.url = jdbc:mysql://192.168.1.201:13306/hhw_dev?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTCjdbc.user = hhw_devjdbc.password = mysql:hhw_dev:4f0LFwIPSp8Iyogk#c3p0jdbc.maxPoolSize = 50jdbc.minPoolSize = 10jdbc.maxStatements = 100jdbc.testConnection = true# 通用Mapper配置mapper.plugin = tk.mybatis.mapper.generator.MapperPluginmapper.Mapper = com.hehewang.hhw.app.common.util.ApiMapper# domaintargetModelPackage = com.hehewang.hhw.app.common.dao# mappertargetMapperPackage = com.hehewang.hhw.app.common.mappertargetJavaProject = app-common/src/main/javatargetResourcesProject = app-common/src/main/resources
MybatisGeneratorRun.java
package xxx.app.common.generator;import org.mybatis.generator.api.ShellRunner;import java.io.IOException;public class MybatisGeneratorRun{ public static void main(String[] args) throws IOException, InterruptedException { // 生成dao文件 args = new String[] { "-configfile", "app-common/src/test/resources/generatorConfig.xml", "-overwrite" }; ShellRunner.main(args); // 备份 TODO Mysql服务器降级// MySqlDumpTest dump = new MySqlDumpTest();// dump.before();// dump.bumpSchema();// 构造// dump.bumpData();// 数据 }}