MyBatis Generator工具使用(自動生成實體類、SQL定義檔案、Mapper介面)
阿新 • • 發佈:2018-12-16
建立一個ovls-generator工程
核心是MyBatis Generator(它可以生成POJO(實體類)和sql.xml及sql方法和mapper(DAO介面))
一.導包
mysql-connector-java
mybatis
mybatis-generator-core
程式碼:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.xdl</groupId> <artifactId>ovls-generator</artifactId> <version>0.0.1-SNAPSHOT</version> <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6</version> </dependency> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.5</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.46</version> </dependency> </dependencies> </project>
二.新增工具mybatis-generator配置檔案mbg.xml在根目錄下
配置檔案內容在這個網站複製
http://www.mybatis.org/generator/configreference/xmlconfig.html
可以根據現有資料庫表生成實體類、SQL定義檔案、Mapper介面。
修改配置內容(自己的驅動包,自己的連線引數)
driverClass="com.mysql.jdbc.Driver"
jdbc:mysql://localhost:3306/庫名
targetPackage="實體類存放的位置"
targetProject="實體類存放的專案目錄">
程式碼
<?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> <!-- 指定驅動包 ,複製mysql-connector-java-5.1.46.jar路徑過來--> <classPathEntry location="C:\Users\Administrator\.m2\repository\mysql\mysql-connector-java\5.1.46\mysql-connector-java-5.1.46.jar" /> <context id="DB2Tables" targetRuntime="MyBatis3"> <!-- 指定連線引數 --> <!-- jdbc:mysql://localhost:3306/庫名 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/ovls" userId="root" password="root"> </jdbcConnection> <javaTypeResolver > <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- 指定entity實體類位置 --> <!-- targetPackage="實體類存放的位置" targetProject="實體類存放的專案目錄"> --> <javaModelGenerator targetPackage="cn.xdl.ovls.entity" targetProject=".\src\main\java"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- 指定sql xml位置 --> <sqlMapGenerator targetPackage="sql" targetProject=".\src\main\resources"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <!-- 指定Mapper介面位置 --> <javaClientGenerator type="XMLMAPPER" targetPackage="cn.xdl.ovls.dao" targetProject=".\src\main\java"> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <!-- 指定根據資料哪些表生成上面元素 --> <table tableName="%" enableCountByExample="false" enableDeleteByExample="false" enableSelectByExample="false" enableUpdateByExample="false"> </table> </context> </generatorConfiguration>
三.載入配置檔案執行生成
配置檔案內容在這個網站複製
http://www.mybatis.org/generator/running/runningWithJava.html
建立一個RunMyBitisGenerator類複製裡面程式碼
執行 快捷鍵Alt+Shift+X,J
自動生成實體類、SQL定義檔案、Mapper介面
程式碼
public class RunMyBatisGenerator {
public static void main(String[] args) throws Exception{
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
File configFile = new File("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);
}
}