mybatis與hibernate不同(重要)
Mybatis和hibernate不同,它不完全是一個ORM框架,因為MyBatis需要程式設計師自己編寫Sql語句,不過mybatis可以通過XML或註解方式靈活配置要執行的sql語句,並將java物件和sql語句對映生成最終執行的sql,最後將sql執行的結果再對映生成java物件。
Mybatis學習門檻低,簡單易學,程式設計師直接編寫原生態sql,可嚴格控制sql執行效能,靈活度高,非常適合對關係資料模型要求不高的軟體開發,例如網際網路軟體、企業運營類軟體等,因為這類軟體需求變化頻繁,一但需求變化要求成果輸出迅速。但是靈活的前提是mybatis無法做到資料庫無關性,如果需要實現支援多種資料庫的軟體則需要自定義多套
Hibernate物件/關係對映能力強,資料庫無關性好,對於關係模型要求高的軟體(例如需求固定的定製化軟體)如果用hibernate開發可以節省很多程式碼,提高效率。但是Hibernate的學習門檻高,要精通門檻更高,而且怎麼設計O/R對映,在效能和物件模型之間如何權衡,以及怎樣用好Hibernate需要具有很強的經驗和能力才行。
總之,按照使用者的需求在有限的資源環境下只要能做出維護性、擴充套件性良好的軟體架構都是好架構,所以框架只有適合才是最好。
相關推薦
mybatis與hibernate不同(重要)
Mybatis和hibernate不同,它不完全是一個ORM框架,因為MyBatis需要程式設計師自己編寫Sql語句,不過mybatis可以通過XML或註解方式靈活配置要執行的sql語句,並將java物件和sql語句對映生成最終執行的sql,最後將sql執行的結果再對映生成java物件。 Mybat
Mybatis與Spring整合(一)Mapper介面代理的方式操作SQL語句
一、建立maven工程 建立一個普通的maven工程,基於web 專案目錄: 二、建立資料庫與表 DROP TABLE IF EXISTS `books`; CREATE TABLE `books` ( `id` int(11) NOT NULL AUTO_I
ORM框架(Mybatis與Hibernate)學習筆記
物件關係對映(Object Relational Mapping,簡稱ORM)模式是一種為了解決面向物件與關係資料庫存在的互不匹配的現象的技術。簡單的說,ORM是通過使用描述物件和資料庫之間對映的元資料,將程式中的物件自動持久化到關係資料庫中。那麼,到底如何實現
python中多執行緒中event的使用-----------------即一個靈活的方法標誌位,類似於java的等待喚醒機制(python與java不同的地方)
event是python中一個特有的標誌位方法,他一共有三種方法 1.event.wait():如果標誌位設定了,它不做任何事,如果沒有設定,則將會鎖住,等待標誌位的設定 2.event.set():設定標誌位 3.event.clear():清除標誌位 這一種機制很
js進行MD5加密(含中文),與後臺JAVA加密之後結果不同(解決)
開發小程式過程中與後臺進行介面溝通,前期介面經過MD5加密和AES加密之後,後臺進行解密。今天出現一種情況,我前臺加密之後的md5串與後臺加密不同,後臺發現可能是帶用中文的原因,這是加密之前的串:address=北京市朝陽區日壇北街33號C口&defult=1&
MyBatis逆向工程——MyBatis Generator (MBG)-簡單介紹與執行步驟(1)
寫在前面: Mybatis Generator是MyBatis和ibatis的程式碼生成器。主要生成如下: (1)與表結構匹配的Java POJO(欄位名對應屬性) (2)SQL對映XML檔案(檔案為配置中每個表上的簡單CRUD(增刪改查)函式生成
Mybatis步步進階(二)——SQL的基本配置與執行
Mybatis使用過程中,相對於hibernate更為靈活、簡潔之處就在於它利用mybatis封裝的標籤配置sql語句,在程式碼中載入配置檔案執行sql。咱採取“先做,再總結”方針,方便大家理解。
hibernate基礎(三)——主鍵生成策略與flush快取清理
在瞭解此文前,請首先閱讀: 在使用hibernate時,我們還是很有必要將hibernate的內部實現原理來搞清楚一下的。比如,hibernate在儲存一個物件時, 它的
hibernate基於annotation(註解)的方式建立資料庫表以及儲存資料到資料庫表中(重要)
在這裡建立專案後要把相關jar包與資料庫相關的jar包引入,並且配置好hibernate.cfg.xml檔案,這個專案採用的資料庫名稱是hibernate_anno.再建立一個實體類User,我們用的是註解的方式,所以不用像上篇文章中建立一個實體類的配置檔案,可以直接在實體類
mybatis與spring整合(基於配置檔案)
本文主要介紹瞭如何將mybatis和spring整合在一起使用,本人使用的是mybatis3.05 + spring3.1.0M2 ,使用dbcp作為資料庫連線池。1.編寫資料訪問介面(UserDao.java)package com.mybatis;publicinterf
MyBatis傳入引數與ParameterType總結(二)
mybatis的insert、update、delete、select中都提到了parameterType這個元素。那麼,這麼愛上鏡的它究竟怎麼使用呢?聽我嘮嘮。一、介面中的引數型別 我暫且分為三類:基本資料型別、POJO類、HashMap類 你也可以把POJO類
Mybatis資料來源與連線池(一)介紹建立過程
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">小白學習技術,總會遇到各種新知識撲面而來,而未曾深究過的尷尬局面,比如從
[Linux] Linux 中的基本命令與目錄結構(初稿)
展開 src 文件名 auto 使用 bin target editor 提示符 Linux 中的基本命令與目錄結構 目錄 一、Linux 基本目錄結構 二、基本命令 三、瀏覽目錄 四、中間命令 五、更改密碼 六、環境變量和 shell 變量 七、命令路
【SSH之旅】一步步學習Hibernate框架(一):關於持久化
stc localhost 對象 schema hbm.xml java let pass [] 在不引用不論什麽框架下,我們會通過平庸的代碼不停的對數據庫進行操作,產生了非常多冗余的可是又有規律的底層代碼,這樣頻繁的操作數據庫和大量的底層代碼的反復
時序圖與狀態圖(Rose) - Windows XP經典軟件系列
blog data- windows 功能 clas text 協作圖 mar content 以CAN轉UART(串口)為例。 功能簡單介紹: 當主程序收到CAN口的數據後;依據按鍵的不同來選擇是使用C
Java靜態分派與動態分派(二)
xiang oid main isp 準備 center 使用 name 編譯過程 方法調用並不等於方法執行,方法調用階段唯一的任務就是確定被調用方法的版本(即調用哪一個方法),暫時還不涉及方法內部的具體運行過程。 在程序運行時,進行方法調用是最普遍、最頻繁的操作,但是Cl
短路與&&(或 ||)和非短路與&(或 |)的區別
static ole pri args 驗證 java system string rgs 短路與是JAVA語言中的一個邏輯運算符,記作&& A&&B, 當A為false時,不去計算B的值而直接返回false;當A為true時,計算B的值。
java面向對象與設計模式(四)
工廠方法模式 java 選擇 缺點 一個 聯系 面向 抽象工廠 pan 第五式 抽象工廠模式 定義:提供一個創建一系列相關或相互依賴對象的接口,而無需指定他們具體的類。(創建的對象之間有約束) 抽象工廠模式的本質:選擇產品簇的實現 優點:分離接口和產品簇,使得切換產品簇變得
Hibernate入門(五)
brush cti ride pack ng- gin import source builds 一 Hibernate繼承映射 我們可以將繼承層次結構類與數據庫的表映射。 1. 每個層次類一張表 這個層次結構有三個類,Employee是Regular_Employ
【經典數據結構】B樹與B+樹(轉)
linux 每分鐘 www 數據 csapp png 感知 轉動 繼續 本文轉載自:http://www.cnblogs.com/yangecnu/p/Introduce-B-Tree-and-B-Plus-Tree.html 維基百科對B樹的定義為“在計算機科學中,B