MyBatis Generator配置及執行

mameng1998發表於2018-04-13

一、MyBatis Generator配置

1、建立的maven專案如下:


在上述Maven專案的pom.xml中引入:

              <dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.3</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.26</version>
</dependency>

2、在上述專案的src/main/resources中建立一個目錄generator,在該目錄下建立一個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>
    <context id="MysqlContext" targetRuntime="MyBatis3Simple" defaultModelType="flat">
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>

        <commentGenerator>
            <property name="suppressDate" value="true"/>
        </commentGenerator>

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

        <javaModelGenerator targetPackage="test.model" targetProject="src\main\java">
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <sqlMapGenerator targetPackage="sqlMap.xml"  targetProject="src\main\resources"/>

        <javaClientGenerator type="XMLMAPPER" targetPackage="test.dao"  targetProject="src\main\java"/>

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

上面僅展示的是Mysql的簡單配置,MyBatis Generator配置詳解見https://blog.csdn.net/testcs_dn/article/details/79295065

二、執行Mybatis Generator(有四種方式)

1、使用Java編寫程式碼執行

在寫程式碼前,需要先把MyBatis Generator的jar包新增到專案中。

第一種方式,從地址https://github.com/mybatis/generator/releases下載jar包。

第二種方式,使用Maven方式直接引入依賴,在pom.xml中新增如下依賴。

<!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
<dependency>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-core</artifactId>
    <version>1.3.3</version>

</dependency>

在上述Maven專案中的src/test/java下面新增artifact.generator包,建立Generator.java類,程式碼如下:

package artifact.generator;

import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;

public class Generator {

public static void main(String[] args) {

//MBG執行過程中的警告資訊
List<String> warnings = new ArrayList<String>();
//當生成的程式碼重複時,覆蓋原始碼
boolean overwrite = true;
//讀取MBG配置檔案
InputStream is = Generator.class.getResourceAsStream("/generator/generator-config.xml");

ConfigurationParser cp = new ConfigurationParser(warnings);
DefaultShellCallback shellCallback = new DefaultShellCallback(overwrite);
Configuration configuration = null;
try {
configuration = cp.parseConfiguration(is);
is.close();
//建立MBG
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(configuration, shellCallback, warnings);
//執行生成程式碼
myBatisGenerator.generate(null);
} catch (Exception e) {
e.printStackTrace();
}

for(String warning : warnings) {
System.out.println(warning);
}
}

}

執行上面的程式碼後重新整理上述Maven專案,專案結構如下:


到此,就生成了實體類,dao類,mapper檔案。

其他執行方式詳見:http://mbg.cndocs.ml/running/running.html

相關文章