为什么要用MyBatis-MyBatis
“半自動(dòng)化”的ORM 框架MyBatis 就解決了這幾個(gè)問(wèn)題。“半自動(dòng)化”是相對(duì)于Hibernate 的全自動(dòng)化來(lái)說(shuō)的,也就是說(shuō)它的封裝程度沒(méi)有Hibernate 那么高,不會(huì)自動(dòng)生成全部的SQL 語(yǔ)句,主要解決的是SQL 和對(duì)象的映射問(wèn)題。
在MyBatis 里面,SQL 和代碼是分離的,所以會(huì)寫SQL 基本上就會(huì)用MyBatis,沒(méi)有額外的學(xué)習(xí)成本。
我們來(lái)總結(jié)一下,MyBatis 的核心特性,或者說(shuō)它解決的主要問(wèn)題是什么:
1、使用連接池對(duì)連接進(jìn)行管理
2、SQL 和代碼分離,集中管理
3、結(jié)果集映射
4、參數(shù)映射和動(dòng)態(tài)SQL
5、重復(fù)SQL 的提取
6、緩存管理
7、插件機(jī)制
當(dāng)然,需要明白的是,Hibernate 和MyBatis 跟DbUtils、Spring JDBC 一樣,都是對(duì)JDBC 的一個(gè)封裝,我們?nèi)タ丛创a,最后一定會(huì)看到Statement 和ResultSet 這些對(duì)象。
問(wèn)題來(lái)了,我們有這么多的工具和不同的框架,在實(shí)際的項(xiàng)目里面應(yīng)該怎么選擇?
在一些業(yè)務(wù)比較簡(jiǎn)單的項(xiàng)目中,我們可以使用Hibernate;
如果需要更加靈活的SQL,可以使用MyBatis,對(duì)于底層的編碼,或者性能要求非常高的場(chǎng)合,可以用JDBC。
實(shí)際上在我們的項(xiàng)目中,MyBatis 和Spring JDBC 是可以混合使用的。
當(dāng)然,我們也根據(jù)項(xiàng)目的需求自己寫ORM 框架,就像之前Tom 老師跟大家講的手寫ORM 框架一樣。
?
總結(jié)
以上是生活随笔為你收集整理的为什么要用MyBatis-MyBatis的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 为什么要用MyBatis-Hiberna
- 下一篇: MyBatis 实际使用案例-编程式使用