Mybatis generator 逆向生成代碼

来源:https://www.cnblogs.com/jungejava/archive/2018/11/03/9902353.html
-Advertisement-
Play Games

Mybatis generator 逆向生成代碼 簡單介紹 本文介紹用mybatis逆向生成javaben dao介面 1.創建maven項目 創建相應的包 附上項目創建完成的圖片 然後在pom.xml文件裡面引入需要的jar的依賴 然後在src/main/resources下創建generator ...


Mybatis generator 逆向生成代碼


 

簡單介紹

本文介紹用mybatis逆向生成javaben dao介面

1.創建maven項目 創建相應的包

附上項目創建完成的圖片

 

 然後在pom.xml文件裡面引入需要的jar的依賴 

<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.xx</groupId>
    <artifactId>Mybaits</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>Mybaits Maven Webapp</name>
    <url>http://maven.apache.org</url>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->

        <!-- mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.0</version>
        </dependency>

        <!-- mybaits-generator -->
        <!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.5</version>
        </dependency>
        <!-- 資料庫驅動 -->
        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
    </dependencies>
    <build>
        <finalName>Mybaits</finalName>
    </build>
</project>

 

然後在src/main/resources下創建generator所需的配置文件

配置文件裡面有些地方需要改動,需要的朋友可以根據自己的情況改動

 

 在這附上配置文件內容

<?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="DB2Tables" targetRuntime="MyBatis3">
        <commentGenerator>
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
        <!-- 配置資料庫連接 -->
        <jdbcConnection driverClass="oracle.jdbc.OracleDriver"
            connectionURL="jdbc:oracle:thin:@localhost:1521:xe" userId="admin007"
            password="admin">
        </jdbcConnection>

        <javaTypeResolver>
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>

        <!-- 指定javaBean生成的位置 -->
        <javaModelGenerator targetPackage="com.bean"
            targetProject=".\src\main\java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <!--指定sql映射文件生成的位置 -->
        <sqlMapGenerator targetPackage="mapper"
            targetProject=".\src\main\resources">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <!-- 指定dao介面生成的位置,mapper介面 -->
        <javaClientGenerator type="XMLMAPPER"
            targetPackage="com.dao" targetProject=".\src\main\java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>


        <!-- table指定每個表的生成策略 -->
        <table tableName="t_user" domainObjectName="User"></table>
    </context>
</generatorConfiguration>

 

然後在com.test包下創建逆向生成的啟動java文件

 

 啟動文件內容看下麵的代碼

package com.test;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

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;

public class Test {

    public static void main(String[] args) throws Exception {
        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        // 配置文件路徑切記寫對
        File configFile = new File("src/main/resources/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);
    }
}

 

 配置文件寫完之後直接運行此配置文件,就可以生成代碼,下麵附上生成之後的效果(運行完之後,刷新項目 就可以看到生成的文件)

 

 文章中涉及到的配置文件,啟動類等都可以在mybatis官網找到。

如有錯誤,請大神指導。

 

 

--------------------------------------- end ----------------------------------

 

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 《大型網站技術架構:核心原理與案例分析》作者是擁有核心技術部門的一線工作經驗,直接體驗了大型網站構建與發展過程中的種種生與死,蛻與變,見證了一個網站架構從幼稚走向成熟穩定的歷程。 沒有晦澀難懂的術語,沒有詰屈聱牙的文句,沒有故弄玄虛的觀點…… 明明白白的語句,清清楚楚的文法,乾凈利落的建議——讓讀者 ...
  • 依賴註入與控制反轉 依賴註入與控制反轉是老生常談的問題。一般面試也會面試到這種問題。網上很多很多這方面的資料,搜索出來一大堆。下麵我們大話一下這些個定義。 DI依賴註入 依賴註入既依賴,又註入。依賴的是容器,註入的也是容器,把你的對象放入容器,並且依賴於容器。 IOC控制反轉 控制反轉,意思是對象的 ...
  • python3的下載與安裝 1、首先,從Python官方網站:http://python.org/getit/ ,下載Windows的安裝包 ython官網有幾個下載文件,有什麼區別?Python 3.6.0a1 - 2016-05-17Download Windows x86 web-based ...
  • views視圖函數屬於MTV中邏輯處理的部分視圖函數包含著兩個對象,HttpRequest對象和HttpResponse對象 一.HttpRequest對象 HttpRequest對象在Django中會預設傳到views函數中作為第一個參數 HttpRequest的屬性: 屬性說明 path 請求頁 ...
  • Part5:面向對象入門 @[toc] Example01:成員變數的初始化值 運行結果: 代碼實現: public class Example01 { //聲明變數 private byte b; private int i; private short s; private long l; pr ...
  • 註冊登錄 需求: 1.對賬號密碼的長度進行限制並不允許出現特殊字元 2.把賬號密碼儲存進文件中 3.密碼最多輸入錯誤三次 ...
  • Java程式而言,Java虛擬機有自動記憶體管理機制,不需要開發人員去手動釋放內空間,也不容易出現記憶體泄漏和溢出的問題,一切看起來都很完美。一旦出現記憶體泄漏和溢出方面的問題,如果不瞭解Java虛擬機是怎麼樣使用記憶體的,那麼排查起來將困難。以往對記憶體的理解僅僅停留在棧、堆這兩個部分,其實Java虛擬機的 ...
  • #列印1 到100 的和** i = 0 s = 0 while i 54321 ret = 0 a = 12345 while a: last = a % 10 ret = ret * 10 + last a = a // 10 print(ret) ``` - ... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...