maven 中央仓库搜索 mybatis generator core
    image.png

    1. <!--mybatis-generator-core 逆向工程,生成mapper、bean-->
    2. <!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
    3. <dependency>
    4. <groupId>org.mybatis.generator</groupId>
    5. <artifactId>mybatis-generator-core</artifactId>
    6. <version>1.4.0</version>
    7. </dependency>

    2、创建配置文件:
    image.png

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <!DOCTYPE generatorConfiguration
    3. PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
    4. "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
    5. <generatorConfiguration>
    6. <context id="DB2Tables" targetRuntime="MyBatis3">
    7. <!--配置数据库连接信息-->
    8. <jdbcConnection
    9. driverClass="com.mysql.cj.jdbc.Driver"
    10. connectionURL="jdbc:mysql://localhost:3306/myb?serverTimezone=UTC"
    11. userId="root"
    12. password="941941">
    13. </jdbcConnection>
    14. <javaTypeResolver >
    15. <property name="forceBigDecimals" value="false" />
    16. </javaTypeResolver>
    17. <!--
    18. 指定JavaBean生成的位置
    19. targetPackage:生成的包路径
    20. targetProject:生成的工程路径
    21. -->
    22. <javaModelGenerator targetPackage="com.wzy.pojo" targetProject=".\src\main\java">
    23. <property name="enableSubPackages" value="true" />
    24. <property name="trimStrings" value="true" />
    25. </javaModelGenerator>
    26. <!--指定映射文件生成的位置-->
    27. <sqlMapGenerator targetPackage="mapper" targetProject="src\main\resources">
    28. <property name="enableSubPackages" value="true" />
    29. </sqlMapGenerator>
    30. <!--指定dao接口生成的位置,mapper接口-->
    31. <javaClientGenerator type="XMLMAPPER" targetPackage="com.wzy.dao" targetProject=".\src\main\java">
    32. <property name="enableSubPackages" value="true" />
    33. </javaClientGenerator>
    34. <!--
    35. 指定每个表的生成策略
    36. tableName:表名。
    37. domainObjectName:生成的 javabean 名。
    38. -->
    39. <table tableName="myb_emp" domainObjectName="Employee"/>
    40. <table tableName="myb_dept" domainObjectName="Department"/>
    41. </context>
    42. </generatorConfiguration>

    自动生成:
    image.png

    package com.wzy.test;
    
    import org.mybatis.generator.api.MyBatisGenerator;
    import org.mybatis.generator.config.Configuration;
    import org.mybatis.generator.config.xml.ConfigurationParser;
    import org.mybatis.generator.exception.XMLParserException;
    import org.mybatis.generator.internal.DefaultShellCallback;
    
    import java.io.File;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    
    public class MBGtest {
        public static void main(String[] args) throws Exception {
            List<String> warnings = new ArrayList<String>();
            boolean overwrite = true;
            File configFile = new File("src/main/resources/mbg.xml");//指定生成策略文件 mbg.xml,其他不变
            ConfigurationParser cp = new ConfigurationParser(warnings);
            Configuration config = cp.parseConfiguration(configFile);
            DefaultShellCallback callback = new DefaultShellCallback(overwrite);
            MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
            myBatisGenerator.generate(null);
        }
    }