最近開始寫一些小程序模板,正好趁着這個機會,使用Mybatis-generator進行整合一下
Mybatis-generator下載
鏈接: https://pan.baidu.com/s/1d-6uTkjIJmNc04eEBWhQgA 密碼: 1qtf
配置
- pom.xml
-
<plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.2</version> <configuration> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> </plugin>
創建核心文件eneratorConfig.xml
需要修改對應的pojo包的位置 mapper的包位置,數據庫等配置
<?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>
<!-- 數據庫驅動:選擇你的本地硬盤上面的數據庫驅動包-->
<classPathEntry location="/Users/caozhenhao/項目/mysql-connector-java-5.1.38.jar"/>
<context id="DB2Tables" targetRuntime="MyBatis3">
<!-- JavaBean 實現 序列化 接口 -->
<plugin type="org.mybatis.generator.plugins.SerializablePlugin" />
<!-- 生成toString -->
<plugin type="org.mybatis.generator.plugins.ToStringPlugin" />
<!-- optional,旨在創建class時,對註釋進行控制 -->
<commentGenerator>
<property name="suppressDate" value="true"/>
<!-- <property name="suppressAllComments" value="true"/>-->
</commentGenerator>
<!--數據庫鏈接URL,用戶名、密碼 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/shop"
userId="root"
password="root">
</jdbcConnection>
<!-- 類型轉換 -->
<javaTypeResolver >
<!-- 是否使用bigDecimal,
false: 把JDBC DECIMAL 和 NUMERIC 類型解析爲 Integer(默認)
true: 把JDBC DECIMAL 和 NUMERIC 類型解析爲java.math.BigDecimal
-->
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 生成模型的包名和位置-->
<javaModelGenerator targetPackage="com.jingmo.shop.pojo" targetProject="src/main/java">
<!-- 默認false 是否允許子包 -->
<property name="enableSubPackages" value="true" />
<!-- 默認false 是否對model添加 構造函數 -->
<property name="constructorBased" value="false"/>
<!-- 默認false 建立的Model對象是否 不可改變 即生成的Model對象不會有 setter方法,只有構造方法 -->
<property name="immutable" value="false"/>
<!-- 默認false 是否對類CHAR類型的列的數據進行trim操作 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 生成映射文件的包名和位置-->
<sqlMapGenerator targetPackage="Mapper" targetProject="src/main/resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 生成DAO的包名和位置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.jingmo.shop.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 要生成的表 tableName是數據庫中的表名或視圖名 domainObjectName是實體類名-->
<!-- <table tableName="risk_model_order" domainObjectName="DSRiskModelOrder" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
<table tableName="tel_bill_record" domainObjectName="DSTelBillRecord" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>-->
<table tableName="wares"></table>
<table tableName="waresclass"></table>
<table tableName="order"></table>
<table tableName="orderdetail"></table>
<table tableName="wares_seckill"></table>
<table tableName="shop"></table>
</context>
</generatorConfiguration>
創建Generator.java文件
package com.jingmo.shop.config;
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;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
public class Generator {
public static void main(String[] args) throws Exception {
//MBG 執行過程中的警告信息
List<String> warnings = new ArrayList<String>();
//當生成的代碼重複時,覆蓋原代碼
boolean overwrite = true;
//讀取我們的 MBG 配置文件
InputStream is = Generator.class.getResourceAsStream("/generatorConfig.xml");
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(is);
is.close();
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
//創建 MBG
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
//執行生成代碼
myBatisGenerator.generate(null);
//輸出警告信息
for (String warning : warnings) {
System.out.println(warning);
}
}
}
上面的是啓動文件,啓動後則會自動生成相應的pojo mapper文件