MyBatis學習總結(9)——使用MyBatis Generator自動創建代碼

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

由于MyBatis屬于一種半自動的ORM框架,所以主要的工作就是配置Mapping映射文件,但是由于手寫映射文件很容易出錯,所以可利用MyBatis生成器自動生成實體類、DAO接口和Mapping映射文件。這樣可以省去很多的功夫,將生成的代碼copy到項目工程中即可。

? ? ? ? ? ?使用自動生成有很多方式,可以在eclipse中安裝插件,但是以下將要介紹的這種方式我認為很輕松,最簡單,不需要裝插件,只需要下幾個jar包即可,把它們放在一個目錄下面。


? ? ? ?生成代碼需要的文件和jar包:


(上圖文件下載地址:http://download.csdn.net/detail/u012909091/7206091)

? ? ? ?其中有mybatis框架的jar包,數據庫驅動程序jar包以及MyBatis生成器jar包。其中的generatorConfig.xml是需要我們來配置的文件,配置如下:


[html]? view plain copy print ? 在CODE上查看代碼片 派生到我的代碼片
  1. <?xml?version="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. <!--?數據庫驅動-->????
  7. ????<classPathEntry??location="mysql-connector-java-5.1.25-bin.jar"/>????
  8. ????<context?id="DB2Tables"??targetRuntime="MyBatis3">????
  9. ????????<commentGenerator>????
  10. ????????????<property?name="suppressDate"?value="true"/>????
  11. ????????????<!--?是否去除自動生成的注釋?true:是?:?false:否?-->????
  12. ????????????<property?name="suppressAllComments"?value="true"/>????
  13. ????????</commentGenerator>????
  14. ????????<!--數據庫鏈接URL,用戶名、密碼?-->????
  15. ????????<jdbcConnection?driverClass="com.mysql.jdbc.Driver"?connectionURL="jdbc:mysql://125.221.1.1/db_124"?userId="dem"?password="dem">????
  16. ????????</jdbcConnection>????
  17. ????????<javaTypeResolver>????
  18. ????????????<property?name="forceBigDecimals"?value="false"/>????
  19. ????????</javaTypeResolver>????
  20. ????????<!--?生成模型的包名和位置-->????
  21. ????????<javaModelGenerator?targetPackage="test.domain"?targetProject="src">????
  22. ????????????<property?name="enableSubPackages"?value="true"/>????
  23. ????????????<property?name="trimStrings"?value="true"/>????
  24. ????????</javaModelGenerator>????
  25. ????????<!--?生成映射文件的包名和位置-->????
  26. ????????<sqlMapGenerator?targetPackage="test.mapping"?targetProject="src">????
  27. ????????????<property?name="enableSubPackages"?value="true"/>????
  28. ????????</sqlMapGenerator>????
  29. ????????<!--?生成DAO的包名和位置-->????
  30. ????????<javaClientGenerator?type="XMLMAPPER"?targetPackage="test.IDao"?targetProject="src">????
  31. ????????????<property?name="enableSubPackages"?value="true"/>????
  32. ????????</javaClientGenerator>????
  33. ????????<!--?要生成的表?tableName是數據庫中的表名或視圖名?domainObjectName是實體類名-->????
  34. ????????<table?tableName="user_info_t"?domainObjectName="User"?enableCountByExample="false"?enableUpdateByExample="false"?enableDeleteByExample="false"?enableSelectByExample="false"?selectByExampleQueryId="false"></table>??
  35. ????</context>????
  36. </generatorConfiguration>????


? ? ? ?當以上這些完成之后,只需要打開控制臺,進入lib目錄下,執行腳本:

java?-jar?mybatis-generator-core-1.3.2.jar?-configfile?generatorConfig.xml?-overwrite

? ? ? ?即可。


? ? ? 這樣在生成之后,就可以在src目錄下找到相應的文件夾,每個表格都會對應三個文件(實體類、接口、配置文件)。

轉載于:https://my.oschina.net/zhanghaiyang/blog/594900

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/251629.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/251629.shtml
英文地址,請注明出處:http://en.pswp.cn/news/251629.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[BZOJ2125]最短路(圓方樹DP)

題意&#xff1a;仙人掌圖最短路。 算法&#xff1a;圓方樹DP&#xff0c;$O(n\log nQ\log n)$ 首先建出仙人掌圓方樹&#xff08;與點雙圓方樹的區別在于直接連割邊&#xff0c;也就是存在圓圓邊&#xff09;&#xff0c;然后考慮點u-v的最短路徑&#xff0c;顯然就是&#xf…

20162317 2017-2018-1 《程序設計與數據結構》第8周學習總結

20162317 2017-2018-1 《程序設計與數據結構》第8周學習總結 教材學習內容總結 1、二叉查找樹的定義、性質2、向二叉查找樹中添加元素的方法3、在二叉查找樹中刪除元素的方法4、旋轉的定義、方法、意義 教材學習中的問題和解決過程問題1&#xff1a;我在17章中看到這么一句話&a…

ES6模塊的轉碼

瀏覽器目前還不支持ES6模塊,為了實現立刻使用,我們可以將其轉為ES5的寫法.除了Babel可以用來轉碼,還有以下兩個方法也可以用來轉碼: ES6 moudule transpilerSystemJS ES6 moudule transpiler是square公司開源的一個轉碼器,可以將ES6模塊轉為CommonJS模塊或AMD模塊,從而在瀏覽器…

Java基礎學習總結(22)——異常處理

2019獨角獸企業重金招聘Python工程師標準>>> 一、異常的概念 異常指的是運行期出現的錯誤&#xff0c;也就是當程序開始執行以后執行期出現的錯誤。出現錯誤時觀察錯誤的名字和行號最為重要。 1 package cn.javastudy.summary;2 3 public class TestEx{4 5 …

XAML中格式化日期

要求被格式化數據的類型是DateTime StringFormatyyyy-MM-dd StringFormat{}{0:yyyy-MM-dd}轉載于:https://www.cnblogs.com/changbaishan/p/9144584.html

130242014045 林承暉 第2次實驗

軟件體系結構的第二次實驗&#xff08;解釋器風格與管道過濾器風格&#xff09; 一、實驗目的 1&#xff0e;熟悉體系結構的風格的概念 2&#xff0e;理解和應用管道過濾器型的風格。 3、理解解釋器的原理 4、理解編譯器模型 二、實驗環境 硬件&#xff1a; 軟件&#xff1a;P…

AnularJS1事件

在Web應用的組件是松耦合的情況下&#xff0c;比如需要用戶驗證然后處理授權&#xff0c;即時的通信不總是可行的&#xff0c;因為組件沒有耦合在一起。 例如&#xff0c;如果后端對一個請求返回了狀態碼401&#xff08;表明一個未經授權的請求&#xff09;&#xff0c;我們期望…

Java基礎學習總結(8)——super關鍵字

2019獨角獸企業重金招聘Python工程師標準>>> 一、super關鍵字 在JAVA類中使用super來引用父類的成分&#xff0c;用this來引用當前對象&#xff0c;如果一個類從另外一個類繼承&#xff0c;我們new這個子類的實例對象的時候&#xff0c;這個子類對象里面會有一個父類…

conda鏡像

轉自https://blog.csdn.net/guilutian0541/article/details/81004769 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main conda config --set show…

Java基礎學習總結(17)——線程

2019獨角獸企業重金招聘Python工程師標準>>> 一、線程的基本概念 線程理解&#xff1a;線程是一個程序里面不同的執行路徑 每一個分支都叫做一個線程&#xff0c;main()叫做主分支&#xff0c;也叫主線程。 程只是一個靜態的概念&#xff0c;機器上的一個.class文件…

(轉)MySQL自帶的性能壓力測試工具mysqlslap詳解

mysqlslap 是 Mysql 自帶的壓力測試工具&#xff0c;可以模擬出大量客戶端同時操作數據庫的情況&#xff0c;通過結果信息來了解數據庫的性能狀況 mysqlslap 的一個主要工作場景就是對數據庫服務器做基準測試 例如我們拿到了一臺服務器&#xff0c;準備做為數據庫服務器&#x…

node.js HelloWord

創建 server.js var http require("http"); http.createServer(function(req,res){ //設置請求頭的編碼格式 res.writeHead(200,{Content-Type:text/html;charsetutf-8}); //設置網頁的編碼格式&#xff08;防止中文亂碼&#xff09; res.write("<head>&…

JavaScript --- this

介紹: this:引用環境執行的環境對象arguments:一個類數組對象,它包含傳入函數的所以參數callee:arguments對象的一個屬性,該屬性是一個指針,指向擁有arguments對象的函數caller:保存著調用當前函數的函數引用apply()方法:第一個參數是作用域&#xff0c;第二個參數是Array實例…

LeetCode Subarray Sum Equals K

原題鏈接在這里&#xff1a;https://leetcode.com/problems/subarray-sum-equals-k/description/ 題目&#xff1a; Given an array of integers and an integer k, you need to find the total number of continuous subarrays whose sum equals to k. Example 1: Input:nums …

水木告白工作室:Java從零入門之模仿頭條資訊(一)

總體設計 一 &#xff1a;Java語言基礎 二 &#xff1a;Spring入門&#xff0c;模板語法和渲染 三 &#xff1a;數據庫交互iBatis集成 四&#xff1a; 用戶注冊 登陸 管理 五&#xff1a; 資訊發布 圖片上傳 資訊首頁 六&#xff1a; 評論中心 站內信 七&#xff1a; Redis入門…

架構師不可不知的十大可擴展架構

2019獨角獸企業重金招聘Python工程師標準>>> 可擴展性正是如今軟件設計領域最值得優先考慮的要素。然而&#xff0c;計算機科學家們還無法了解一套單獨的架構如何才能擴展至各類應用環境當中。相反&#xff0c;我們在數量繁多的方案中所設計出的可擴展性架構&#x…

Winform開發框架中工作流模塊的業務表單開發

在我們開發工作流的時候&#xff0c;往往需要設計到具體業務表單信息的編輯&#xff0c;有些是采用動態編輯的&#xff0c;有些則是在開發過程中處理的&#xff0c;各有各的優點&#xff0c;動態編輯的則方便維護各種各樣的表單&#xff0c;但是數據的綁定及處理則比較麻煩&…

JavaScript --- 跨瀏覽器的事件處理程序

var EventUtil {addHandler: function(element, type, handler) { // 添加事件處理程序if (element.addEventListener) { // DOM2級事件處理程序element.addEventListener (type, handler, false) ;} else if (element.attachEvent) { // IE事件處理程序element.attachEve…

RabbitMQ學習總結(2)——安裝、配置與監控

2019獨角獸企業重金招聘Python工程師標準>>> 一、安裝 1、安裝Erlang 1&#xff09;系統編譯環境&#xff08;這里采用linux/unix 環境&#xff09; ① 安裝環境 虛擬機&#xff1a;VMware Workstation 10.0.1 build Linux系統&#xff1a;CentOS6.5 rabbitMQ官網下…

nginx針對某個url限制ip訪問,常用于后臺訪問限制

nginx針對某個url限制ip訪問&#xff0c;常用于后臺訪問限制 假如我的站點后臺地址為&#xff1a; http://www.abc.net/admin.php 那么我想限制只有個別ip可以訪問后臺&#xff0c;那么需要在配置文件中增加&#xff1a;location ~ .*admin.* {allow 1.1.1.1;allow 12.12.12.0/…