MyBatis框架簡介
本文是我學(xué)習(xí) MyBatis 的學(xué)習(xí)筆記和心得,也是我的第一篇技術(shù)文章,可能理解的比較淺顯,也難免存在一些錯(cuò)誤。如果您喜歡這篇文章,可以分享,并注明來源;如果您有疑問、意見或建議,歡迎留言批評(píng)指正,謝謝。
初見 MyBatis 就被它簡介的風(fēng)格所吸引了,大概是喜歡這種簡單易上手的輕量級(jí)框架吧,功能強(qiáng)大卻并不復(fù)雜。
MyBatis 是一款在持久層使用的 SQL 映射框架,它可以將 SQL 語句單獨(dú)寫在 XML 配置文件中,或者用帶有注釋的 Mapper 映射類來完成 SQL 類型到 Java 類型的映射。與 Hibernate 不同,MyBatis 不屬于完全的 ORM 框架,它不能將不同數(shù)據(jù)庫的影響隔離開,仍然需要自己寫 SQL 語句,但是卻可以靈活地控制 SQL 語句的構(gòu)造,將 SQL 語句的編寫和程序的運(yùn)行分離開,使用方便快捷。
使用時(shí)只需要在 classpath 中添加 mybatis-x.x.x.jar 依賴即可。使用 Maven 構(gòu)建如下:
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>x.x.x</version> </dependency>
運(yùn)行 MyBatis 的基本步驟為:
- 使用 SqlSessionFactoryBuilder 從 XML 配置文件或 Configuration 對(duì)象創(chuàng)建 SqlSessionFactory
- 從 SqlSessionFactory 中獲取 SqlSession
- 使用 SqlSession 執(zhí)行 SQL 語句并將獲得的結(jié)果集映射到 Java 對(duì)象。
可以看出,最關(guān)鍵的部分就是根據(jù)配置獲得 SqlSessionFactory 實(shí)例和 SQL 映射。我們將話費(fèi)大部分精力來編寫配置文件和映射文件(包括 XML 配置文件或 Java 類),然后調(diào)用 SqlSession 的 API 即可完成對(duì)數(shù)據(jù)庫的相關(guān)操作。相比于 JDBC 來說,MyBatis 封裝了對(duì)復(fù)雜 SQL 語句的編寫,將其從 Java 類中分離出來,易于維護(hù)。另外 MyBatis 還支持事物和連接池,以及與其他框架的整合功能。
以上作為對(duì) MyBatis 的簡要介紹和我的理解,詳細(xì)內(nèi)容在后續(xù)文章中會(huì)繼續(xù)學(xué)習(xí)和探索。
希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!
- MyBatis入門學(xué)習(xí)教程(一)-MyBatis快速入門
- SpringMVC+MyBatis聲明式事務(wù)管理
- springboot與mybatis整合實(shí)例詳解(完美融合)
- Mybatis實(shí)戰(zhàn)教程之入門到精通(經(jīng)典)
- MyBatis批量插入(insert)數(shù)據(jù)操作
- Java簡單實(shí)現(xiàn)SpringMVC+MyBatis分頁插件
- 深入淺析mybatis oracle BLOB類型字段保存與讀取
- mybatis的動(dòng)態(tài)sql詳解(精)
- 解決springmvc+mybatis+mysql中文亂碼問題
- 詳解MyBatis直接執(zhí)行SQL查詢及數(shù)據(jù)批量插入
相關(guān)文章
Java synchronized底層的實(shí)現(xiàn)原理
這篇文章主要介紹了Java synchronized底層的實(shí)現(xiàn)原理,文章基于Java來介紹 synchronized 是如何運(yùn)行的,內(nèi)容詳細(xì)具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-05-05Spring Boot如何通過java -jar啟動(dòng)
大家開發(fā)的基于Spring Boot 的應(yīng)用 ,jar形式, 發(fā)布的時(shí)候,絕大部分都是使用java -jar 啟動(dòng)。本文主要介紹了Spring Boot如何通過java -jar啟動(dòng),一起來了解一下2021-05-05Java數(shù)據(jù)結(jié)構(gòu)與算法之棧(動(dòng)力節(jié)點(diǎn)Java學(xué)院整理)
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)與算法之棧,棧是先進(jìn)后出的數(shù)據(jù)的結(jié)構(gòu),本文通過文字說明與實(shí)例代碼相結(jié)合的形式給大家介紹的非常詳細(xì),需要的朋友跟著小編一起學(xué)習(xí)吧2017-04-04Java從源碼看異步任務(wù)計(jì)算FutureTask
這篇文章主要介紹了Java從源碼看異步任務(wù)計(jì)算FutureTask,F(xiàn)utureTask就能夠很好的幫助我們實(shí)現(xiàn)異步計(jì)算,并且可以實(shí)現(xiàn)同步獲取異步任務(wù)的計(jì)算結(jié)果,具體是怎樣實(shí)現(xiàn)的,下面我們就一起來學(xué)習(xí)下面文章的具體內(nèi)容吧2022-04-04mybatis實(shí)現(xiàn)一對(duì)一關(guān)聯(lián)映射實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于mybatis實(shí)現(xiàn)一對(duì)一關(guān)聯(lián)映射的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11