1. 程式人生 > >利用mybatis generator生成實體類、Mapper介面以及對應的XML檔案

利用mybatis generator生成實體類、Mapper介面以及對應的XML檔案

專案中通常會遇到資料的持久化,如果是採用mybatis的orm,就會涉及到生成xml的問題,剛好mybatis官網提供了這麼個外掛MyBatis Generator,效果簡直是棒呆。
1. 首先需要在build.gradle檔案中新增依賴


dependencies {
    compile('org.mybatis.generator:mybatis-generator-core:1.3.7')
}

2.在當前的專案中建立一個類,新增一個main方法,main方法內容如下:。

public class CustomMybatisGenerator {


    public static void main(String[] args) throws IOException, XMLParserException, InvalidConfigurationException, SQLException, InterruptedException {
        List<String> warnings = new ArrayList<>();
        boolean overwrite = true;
        File configFile = new File("generatorConfig.xml");  //其中generaroeConfig.xml檔案放到resources目錄下即可
        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);
    }

}

3. 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>
  <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">

    <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
      <property name="mappers" value="tk.mybatis.mapper.common.Mapper"/>
      <!-- caseSensitive預設false,當資料庫表名區分大小寫時,可以將該屬性設定為true -->
      <property name="caseSensitive" value="true"/>
    </plugin>

    <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                    connectionURL="jdbc:mysql://localhost:3306/test"
                    userId="root"
                    password="password">
    </jdbcConnection>

    <javaModelGenerator targetPackage="test.model" targetProject="G:\MyProject\src\main\java"/>

    <sqlMapGenerator targetPackage="mapper"  targetProject="G:\MyProject\src\main\resources"/>

    <javaClientGenerator targetPackage="test.mapper" targetProject="G:\MyProject\src\main\java" type="XMLMAPPER" />

    <table tableName="%" >
      <generatedKey column="id" sqlStatement="Mysql" identity="true"/>
    </table>
  </context>
</generatorConfiguration>

4. 此時執行就可以