將xxx.properties放在項目的類路徑下。如: config/xxx.propertieshtml
project.base.dir=項目的全路徑 jdbc.url=xxx jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.username=xxx jdbc.password=xxx table.name=xxxx domain.object.name=xxxx
<?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="config/xxx.properties"/> <context id="DB2Tables" targetRuntime="MyBatis3" defaultModelType="flat"> <!--覆蓋生成 Mapper XML 文件--> <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin"/> <commentGenerator> <property name="suppressDate" value="true"/> <!-- 是否去除自動生成的註釋 true:是 : false:否 --> <property name="suppressAllComments" value="true"/> </commentGenerator> <!--數據庫連接URL,用戶名、密碼 與properties文件一致 --> <jdbcConnection driverClass="${jdbc.driver}" connectionURL="${jdbc.url}" userId="${jdbc.username}" password="${jdbc.password}"> </jdbcConnection> <!-- 生成模型的包名和位置--> <javaModelGenerator targetPackage="org.mybatis.generator.entity" targetProject="${project.base.dir}/src/test/java"/> <!-- 生成映射文件的包名和位置--> <sqlMapGenerator targetPackage="org.mybatis.generator.xml" targetProject="${project.base.dir}/src/test/java"/> <!-- 生成DAO的包名和位置--> <!-- 註解生成方式 --> <!--<javaClientGenerator type="ANNOTATEDMAPPER"--> <!-- targetPackage="org.mybatis.generator.mapper"--> <!-- targetProject="${project.base.dir}/src/test/java">--> <!--</javaClientGenerator>--> <!-- 混合模式 --> <!--<javaClientGenerator type="MIXEDMAPPER"--> <!-- targetPackage="org.mybatis.generator.mapper"--> <!-- targetProject="${project.base.dir}/src/test/java">--> <!--</javaClientGenerator>--> <!-- xml文件生成方式 --> <javaClientGenerator type="XMLMAPPER" targetPackage="org.mybatis.generator.mapper" targetProject="${project.base.dir}/src/test/java"> </javaClientGenerator> <!-- 要生成的表 tableName是數據庫中的表名或視圖名 domainObjectName是實體類名--> <table tableName="${table.name}" domainObjectName="${domain.object.name}" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> </context> </generatorConfiguration>
/** * MyBatis Generator官網地址 * http://www.mybatis.org/generator/index.html * * @author Chris * @version V1.0 * @date 2019/05/13 */ public class MybatisGenerator { public static void main(String[] args) { try { System.out.println("**************start generator***************"); List<String> warnings = new ArrayList<>(); File configFile = new File(MybatisGenerator.class.getResource("/config/generatorConfig.xml").getFile()); ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = cp.parseConfiguration(configFile); DefaultShellCallback callback = new DefaultShellCallback(true); MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); myBatisGenerator.generate(null); warnings.forEach(System.out::println); System.out.println("*******************end generator*************"); } catch (Exception e) { e.printStackTrace(); } } }