maven mysql的jdbctemplate_JDBC、JDBCTemplate、MyBatis、Hiberante 比较与分析
JDBC (Java Data Base Connection,java數(shù)據(jù)庫連接)
JDBC(Java Data Base Connection,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成.JDBC提供了一種基準(zhǔn),據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠編寫數(shù)據(jù)庫應(yīng)用程序
優(yōu)點:運行期:快捷、高效
缺點:編輯器:代碼量大、繁瑣異常處理、不支持?jǐn)?shù)據(jù)庫跨平臺
JDBCTemplate
JdbcTemplate針對數(shù)據(jù)查詢提供了多個重載的模板方法,你可以根據(jù)需要選用不同的模板方法.如果你的查詢很簡單,僅僅是傳入相應(yīng)SQL或者相關(guān)參數(shù),然后取得一個單一的結(jié)果,那么你可以選擇如下一組便利的模板方法
優(yōu)點:運行期:高效、內(nèi)嵌Spring框架中、支持基于AOP的聲明式事務(wù)
缺點:必須于Spring框架結(jié)合在一起使用、不支持?jǐn)?shù)據(jù)庫跨平臺、默認(rèn)沒有緩存
MyBatis
MyBatis的前身就是iBatis,iBatis本是apache的一個開源項目,2010年這個項目由apahce sofeware foundation 遷移到了google code,并且改名
總體來說 MyBatis 主要完成兩件事情
根據(jù)JDBC 規(guī)范建立與數(shù)據(jù)庫的連接
通過Annotaion/XML+JAVA反射技術(shù),實現(xiàn) Java 對象與關(guān)系數(shù)據(jù)庫之間相互轉(zhuǎn)化
MyBatis優(yōu)缺點如下:
優(yōu)點: 高效、支持動態(tài)、復(fù)雜的SQL構(gòu)建, 支持與Spring整合和AOP事務(wù)、結(jié)果集做了輕量級Mapper封裝、支持緩存
缺點:不支持?jǐn)?shù)據(jù)庫跨平臺, 還是需要自己寫SQL語句
Hibernate
Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫. Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用
Hibernate的核心類和接口一共有6個, 分別為:Session、SessionFactory、Transaction、Query、Criteria和Configuration這6個核心類和接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制
Criteria是一種比hql更面向?qū)ο蟮牟樵兎绞健riteria 可使用 Criterion 和 Projection 設(shè)置查詢條件.可以設(shè)置FetchMode(聯(lián)合查詢抓取的模式)設(shè)置排序方式,Criteria 還可以設(shè)置 FlushModel(沖刷 Session 的方式)和LockMode
1 Criteria crit = sess.createCriteria(Cat.class);
2 crit.setMaxResults(50);
3 List cats = crit.list();
Java事務(wù)API(JTA:Java Transaction API)和它的同胞Java事務(wù)服務(wù)(JTS:Java Transaction Service)為J2EE平臺提供了分布式事務(wù)服務(wù)
總結(jié)
以上是生活随笔為你收集整理的maven mysql的jdbctemplate_JDBC、JDBCTemplate、MyBatis、Hiberante 比较与分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑上怎么安装摄像头
- 下一篇: oracle sql execute e