1. 程式人生 > >mybatis逆向工程通過表反向生成java程式碼

mybatis逆向工程通過表反向生成java程式碼

  mybatis可以通過逆向工程的方式反向生成專案中所要的xml檔案和Java程式碼,如圖:

核心配置檔案generatorConfig.xml程式碼:

  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <!DOCTYPE generatorConfiguration  
  3.   PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"  
  4.   "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
  5. <generatorConfiguration
    >
  6.     <contextid="testTables"targetRuntime="MyBatis3">
  7.         <commentGenerator>
  8.             <!-- 是否去除自動生成的註釋 true:是 : false:否 -->
  9.             <propertyname="suppressAllComments"value="true"/>
  10.         </commentGenerator>
  11.         <!--資料庫連線的資訊:驅動類、連線地址、使用者名稱、密碼 -->
  12.         <spanstyle="color:#FF0000;"><jdbcConnectiondriverClass="com.mysql.jdbc.Driver"
  13.             connectionURL="jdbc:mysql://localhost:3306/userdb"userId="root"
  14.             password="accp">
  15.         </jdbcConnection>
  16.         <!-- <jdbcConnectiondriverClass="oracle.jdbc.OracleDriver"
  17.             connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg"
  18.             userId="yycg"
  19.             password="yycg">
  20.         </jdbcConnection> --></span>
  21.         <!-- 預設false,把JDBC DECIMAL 和 NUMERIC 型別解析為 Integer,為 true時把JDBC DECIMAL 和   
  22.             NUMERIC 型別解析為java.math.BigDecimal -->
  23.         <javaTypeResolver>
  24.             <propertyname="forceBigDecimals"value="false"/>
  25.         </javaTypeResolver>
  26.         <!-- targetProject:生成PO類的位置 -->
  27.         <javaModelGeneratortargetPackage="<span style="color:#FF0000;">com.lanqiao.domain</span>"  
  28.             targetProject=".\src">
  29.             <!-- enableSubPackages:是否讓schema作為包的字尾 -->
  30.             <propertyname="enableSubPackages"value="false"/>
  31.             <!-- 從資料庫返回的值被清理前後的空格 -->
  32.             <propertyname="trimStrings"value="true"/>
  33.         </javaModelGenerator>
  34.         <!-- targetProject:mapper對映檔案生成的位置 -->
  35.         <sqlMapGeneratortargetPackage="<span style="color:#FF0000;">com.lanqiao.mapper</span>"   
  36.             targetProject=".\src">
  37.             <!-- enableSubPackages:是否讓schema作為包的字尾 -->
  38.             <propertyname="enableSubPackages"value="false"/>
  39.         </sqlMapGenerator>
  40.         <!-- targetPackage:mapper介面生成的位置 -->
  41.         <javaClientGeneratortype="XMLMAPPER"
  42.             targetPackage="<span style="color:#FF0000;">com.lanqiao.mapper</span>"   
  43.             targetProject=".\src">
  44.             <!-- enableSubPackages:是否讓schema作為包的字尾 -->
  45.             <propertyname="enableSubPackages"value="false"/>
  46.         </javaClientGenerator>
  47.         <!-- 指定資料庫表 -->
  48.         <tabletableName="items"></table>
  49.         <tabletableName="orders"></table>
  50.         <tabletableName="orderdetail"></table>
  51.         <tabletableName="user"></table>
  52.         <!-- <tableschema=""tableName="sys_user"></table>
  53.         <tableschema=""tableName="sys_role"></table>
  54.         <tableschema=""tableName="sys_permission"></table>
  55.         <tableschema=""tableName="sys_user_role"></table>
  56.         <tableschema=""tableName="sys_role_permission"></table> -->
  57.         <!-- 有些表的欄位需要指定java型別  
  58.          <tableschema=""tableName="">
  59.             <columnOverridecolumn=""javaType=""/>
  60.         </table> -->
  61.     </context>
  62. </generatorConfiguration>

修改程式碼塊中紅色標記對應的程式碼

然後執行GeneratorSqlmap.java中的main方法

  1. import java.io.File;  
  2. import java.io.IOException;  
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5. import org.mybatis.generator.api.MyBatisGenerator;  
  6. import org.mybatis.generator.config.Configuration;  
  7. import org.mybatis.generator.config.xml.ConfigurationParser;  
  8. import org.mybatis.generator.exception.XMLParserException;  
  9. import org.mybatis.generator.internal.DefaultShellCallback;  
  10. publicclass GeneratorSqlmap {  
  11.     publicvoid generator() throws Exception{  
  12.         List<String> warnings = new ArrayList<String>();  
  13.         boolean overwrite = true;  
  14.         //指定 逆向工程配置檔案
  15.         File configFile = new File("generatorConfig.xml");   
  16.         ConfigurationParser cp = new ConfigurationParser(warnings);  
  17.         Configuration config = cp.parseConfiguration(configFile);  
  18.         DefaultShellCallback callback = new DefaultShellCallback(overwrite);  
  19.         MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,  
  20.                 callback, warnings);  
  21.         myBatisGenerator.generate(

    相關推薦

    mybatis逆向工程通過反向生成java程式碼

      mybatis可以通過逆向工程的方式反向生成專案中所要的xml檔案和Java程式碼,如圖: 核心配置檔案generatorConfig.xml程式碼: <?xmlversion="1.0"encoding="UTF-8"?> <!DOCTYPE generatorConfi

    Mybatis-逆向工程-利用資料庫直接生成java程式碼

    1.什麼是逆向工程? 在專案開發過程中如果資料庫中表太多的話,難免會很麻煩,所以mybatis官方提供了一個逆向工程,可以針對單表自動生成mybatis執行所需要的程式碼(包括mapper.xml、mapper.java、po..)。一般在開發中,常用的逆向工

    Mybatis逆向工程根據資料庫生成java程式碼

    1.建一個java工程 2.在工程上新建一個generatorConfig.xml 檔案 3.在generatorConfig.xml檔案寫入以下程式碼 <?xml version="1.0" encoding="UTF-8"?>

    MyBatis逆向工程——Java程式碼自動生成

    關於程式碼自動生成,網上呢有很多工具,也有不同的方法,MyBatis是我接觸到的第一款程式碼自動生成器,比較簡單,程式碼量也比較少,也比較好理解,好了廢話不多說,下面就給大家說一下實現方法及程式碼解釋: 我們新建一個普通的Java專案,這裡我使用的工具是idea,是一款很強大的程式碼編寫工具。 首先是要實

    mybatis逆向工程用idea通過pom外掛generator生成程式碼指令

    一。    F:/ideaProject/springboot-mybatis-demo mybatis-generator:generate -e 環境搭建:   pom檔案: <?xml version="1.0" encoding="UTF

    MyBatis逆向工程-根據資料庫自動生成bean、mapper介面以及對映檔案

    說明:偶然看到一個視訊,講到了使用mybatis的逆向工程實現自動生成程式碼的部分(根據資料表生成相應的實體類、對映檔案、介面),因為之前沒有學習過這類東西,今天照著弄了下,然後自己寫了一個測試案例,特來記錄。。。。==============================

    MyBatis逆向工程自動生成程式碼(附資料庫結構)

    一、逆向工程介紹 逆向工程是一個專門為 MyBatis 框架使用者設計的程式碼生成器,可以根據資料庫中的表字段名,自動生成 POJO 類,mapper 介面與 SQL 對映檔案。支援基本的增刪改查功能,以及自定義條件的查詢。但是不支援複雜 SQL 與儲存過程

    mybatis Generator 根據自動生成程式碼 mybatis逆向工程

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration   PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration

    IDEA 中生成 MyBatis 逆向工程實踐

    工程1.搭建 MyBatis Generator 插件環境 a. 添加插件依賴 pom.xml <!--mybatis 逆向生成插件--> <plugin> <groupId>org.mybatis

    回顧一下MyBatis逆向工程——自動生成代碼

    ive def pre bool throws artifact 默認 config batis 前言 最近做的項目(SSM+Shiro)的數據庫表已經創建完成,一共有15張表,如果我們一個個去寫pojo/bean的代碼以及各種sql語句的話未免太過麻煩而且很容易出錯,這個

    eclipse 使用 mybatis generator 外掛生成 MyBatis 逆向工程

    步驟: 1.新建Java工程,新增config包 2.在config包中新增generratorConfigure檔案 3.在config包中新建properties包,並新增properties檔案 完成後的目錄: 配置檔案的的程式碼: generat

    MyBatis逆向工程,自動生成dao、實體類、mapper檔案

    利用mybatis generator 自動生成生成dao、實體類、mapper檔案 這裡介紹兩種方法: 1、獨立的資料夾的方式,脫離開發工具 2、基於開發工具的方式(Eclipse) 1、獨立的資料夾的方式,脫離開發工具

    mybatis逆向工程生成基礎框架

    什麼是逆向工程 MyBatis的一個主要的特點就是需要程式設計師自己編寫sql,那麼如果表太多的話,難免會很麻煩,所以mybatis官方提供了一個逆向工程,可以針對單表自動生成mybatis執行所需要的程式碼(包括mapper.xml、mapper.java)。一般在開發中,常用的逆向工程方

    Maven中Mybatis逆向工程的使用(自動生成程式碼

    1、新增maven外掛,讓maven環境支援mybatis-generator元件在pom.xml裡面新增如下程式碼: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XML

    Mybatis逆向工程生成的Example類的使用方法

      假如要使用updateByPrimaryKeySelective方法(根據ID更新表) xml檔案如下: <update id="updateByPrimaryKeySelective" parameterType="schooloa.bean.TrainingPr

    解決mybatis-generator mybatis逆向工程生成程式碼時tinyint(1)變成boolean型別

    最近在使用mybatis-generator mybatis逆向工程生成程式碼時,遇到一個問題,資料庫表中有個欄位為 isEnabled  tinyint(1)  NOT NULL  是否啟動: 0 不啟動,1 啟用 在使用逆向工程生成的程式碼中,這個欄位變成了

    mybatis 逆向工程生成實體類

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.

    Mybatis逆向工程生成程式碼

    mybatis官方提供了一個逆向工程外掛,可以針對單表自動生成mybatis執行所需要的程式碼(包括mapper.xml、mapper.java、po..)。一般在開發中,常用的逆向工程方式是通過資料庫的表生成程式碼。 mybatis-generator有三種

    Mybatis逆向工程配置與生成相關類

    簡單點說,就是通過資料庫中的單表,自動生成java程式碼。Mybatis官方提供了逆向工程,可以針對資料庫表自動生成mybatis程式碼(mapper.java\mapper.xml\po類)。實際工作中,逆向工程是個很常用的工具,比我們手動建立對映檔案的配置資訊方便很多。 進入正題,一共需

    mybatis逆向工程生成的xml檔案重複ResultMap,有上千行程式碼問題。org.apache.ibatis.exceptions.PersistenceException

    org.apache.ibatis.exceptions.PersistenceException: org.apache.ibatis.exceptions.PersistenceException: ### Error building SqlSession. ### The