利用mybatis generator生成實體類、Mapper介面以及對應的XML檔案
阿新 • • 發佈:2019-04-24
專案中通常會遇到資料的持久化,如果是採用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. 此時執行就可以