1. 程式人生 > >手動編寫mybatis逆向工程

手動編寫mybatis逆向工程

1、使用逆向工程需要引入以下jar包:

兩個座標:

<!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
<dependency>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-core</artifactId>
    <version>1.3.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.28</version>
</dependency>
2、main執行方法:

public class GeneratorSqlmap {

   public void generator() throws Exception{

      List<String> warnings = new ArrayList<String>();
      boolean overwrite = true;
      //指定 逆向工程配置檔案
      File configFile = new File("generatorConfig.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);

   } 
   public static void main(String[] args) throws Exception {
      try {
         GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
         generatorSqlmap.generator();
      } catch (Exception e) {
         e.printStackTrace();
      }
      
   }

}

3、核心配置檔案:

<?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="testTables" targetRuntime="MyBatis3">
      <commentGenerator>
         <!-- 是否去除自動生成的註釋 true:是 : false:否 -->
         <property name="suppressAllComments" value="true" />
      </commentGenerator>
      <!--資料庫連線的資訊:驅動類、連線地址、使用者名稱、密碼 -->
      <jdbcConnection driverClass="com.mysql.jdbc.Driver"
         connectionURL="jdbc:mysql://localhost:3306/xxx" userId="root"
         password="root">
      </jdbcConnection>
      <!-- <jdbcConnection driverClass="oracle.jdbc.OracleDriver"
         connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg" 
         userId="yycg"
         password="yycg">
      </jdbcConnection> -->

      <!-- 預設false,把JDBC DECIMAL 和 NUMERIC 型別解析為 Integer,為 true時把JDBC DECIMAL 和 
         NUMERIC 型別解析為java.math.BigDecimal -->
      <javaTypeResolver>
         <property name="forceBigDecimals" value="false" />
      </javaTypeResolver>

      <!-- targetProject:生成PO類的位置 -->
      <javaModelGenerator targetPackage="cn.xxx.ssm.po"
         targetProject=".\src">
         <!-- enableSubPackages:是否讓schema作為包的字尾 -->
         <property name="enableSubPackages" value="false" />
         <!-- 從資料庫返回的值被清理前後的空格 -->
         <property name="trimStrings" value="true" />
      </javaModelGenerator>
        <!-- targetProject:mapper對映檔案生成的位置 -->
      <sqlMapGenerator targetPackage="cn.xxx.ssm.mapper" 
         targetProject=".\src">
         <!-- enableSubPackages:是否讓schema作為包的字尾 -->
         <property name="enableSubPackages" value="false" />
      </sqlMapGenerator>
      <!-- targetPackage:mapper介面生成的位置 -->
      <javaClientGenerator type="XMLMAPPER"
         targetPackage="cn.itcast.ssm.mapper" 
         targetProject=".\src">
         <!-- enableSubPackages:是否讓schema作為包的字尾 -->
         <property name="enableSubPackages" value="false" />
      </javaClientGenerator>
      <!-- 指定資料庫表 -->

      <table tableName="mw_media_blog"></table>
      <!--<table tableName=""></table>
      <table tableName=""></table>
      <table tableName=""></table>
      <table tableName=""></table>-->

      <!-- <table schema="" tableName="sys_user"></table>
      <table schema="" tableName="sys_role"></table>
      <table schema="" tableName="sys_permission"></table>
      <table schema="" tableName="sys_user_role"></table>
      <table schema="" tableName="sys_role_permission"></table> -->
      
      <!-- 有些表的欄位需要指定java型別
       <table schema="" tableName="">
         <columnOverride column="" javaType="" />
      </table> -->
   </context>
</generatorConfiguration>

 

執行完後生成的程式碼:

專案結構截圖:

是不是感覺很簡單,加油!

如需原始碼的夥伴可以加群下載:244284555