Dao四種比較
JDBCtemplate+JDBC+Mybatis+ Hibernate
1.JDBC。手動(dòng)事務(wù)管理+資源cintenct
2.JDBCtemplate辕宏。解決:Spring封裝+spring事務(wù)管理+資源創(chuàng)建柒爸,
有一點(diǎn)遺憾:不是orm框架導(dǎo)致沒有映射關(guān)系崎坊;
3.Mybatis(映射關(guān)系宿百,就是把sql寫在xml中轮纫,可以返回Modle腔寡,如果是多表聯(lián)查我們就返回一個(gè)list,如果要將數(shù)據(jù)庫字段和頁面的字段不同,就是使用resultMap進(jìn)行映射)和
4.Hibernate(純粹ORM框架通過操作對象來控制數(shù)據(jù)庫掌唾,查詢時(shí)寫語句時(shí)放前,Hql麻煩。Sql不規(guī)范)糯彬。
Mybatis的話凭语,我對它的理解是,它整體來說是一個(gè)ORM框架撩扒,ORM是一個(gè)關(guān)系對象映射似扔,為了解決面向?qū)ο笈c關(guān)系數(shù)據(jù)庫存在的互不匹配的現(xiàn)象的技術(shù);它主要的一個(gè)思想是:通過操作對象來控制數(shù)據(jù)庫搓谆,現(xiàn)在大多數(shù)的數(shù)據(jù)庫都是關(guān)系型數(shù)據(jù)庫比如Hibernate炒辉,他就是一個(gè)原生態(tài)的ORM框架,他們本身是通過一種映射關(guān)系泉手,我的理解Mybatis它更多是做到了映射的功能黔寇,而沒有真正完全同過操作操作對象來控制數(shù)據(jù)庫,比如通過修改添加刪除斩萌,他可以通過操作操作對象來控制數(shù)據(jù)庫缝裤,但是還是要在xml中寫sql語句屏轰,Hibernate的話它內(nèi)部可以直接生成Hql語句,而Mybatis還是要手寫sql語句憋飞,只是通過映射的關(guān)系去控制數(shù)據(jù)庫霎苗,就相當(dāng)于在數(shù)據(jù)庫與java類中間建了一個(gè)橋梁,這就是他的思想搀崭。比Hibernate在某種程度上可以說是簡單的叨粘,Hibernate它也有映射,但是它僅僅映射完后瘤睹,它的sql都是通過hql語句生成的升敲,但是當(dāng)遇到一些查詢語句時(shí),寫起來就非常麻煩轰传,而Mybatis可以通過這種映射然后將它很好的去處理了.