儘管JDBC在JAVA語言層面實現了統一,但不一樣數據庫仍舊有許多差別。爲了更好地實現跨數據庫操做,因而誕生了hibernate項目,Hibernate是對JDBC的再封裝,實現了對數據庫操做更寬泛的統一和更好的可移植性。html
二、java
二、java程序員從笨鳥到菜鳥之(七)一—java數據庫操做
三、Java操做數據庫--以SQL Server爲例
http://blog.sina.com.cn/s/blog_6c9e93cc0101191s.htmlmysql
直接使用JDBC或者經過JNDI引用數據源的編程代碼量相差無幾,可是如今的程序能夠不用關心具體JDBC參數了。程序員
在系統部署後,若是數據庫的相關參數變動,只須要從新配置 mysql-ds.xml 修改其中的JDBC參數,只要保證數據源的名稱不變,那麼程序源代碼就無需修改。sql
因而可知,JNDI避免了程序與數據庫之間的緊耦合,使應用更加易於配置、易於部署。數據庫
ibatis與mybatis區別?編程
ibatis是mybatis的前身,在2010年7\8月份ibatis所項目移到了google,就將ibatis3.x正式更名爲mybatis3.x了。session
除此以外,mybatis相比ibatis使用起來更加方便,有:mybatis
1)Mybatis實現了接口綁定,使用更加方便。 框架
2)對象關係映射的改進,效率更高
3)MyBatis採用功能強大的基於OGNL的表達式來消除其餘元素
六、hibernate、MyBatis、JDBC區別
1)從層次上看,JDBC是較底層的持久層操做方式,而Hibernate和MyBatis都是在JDBC的基礎上進行了封裝使其更加方便程序員對持久層的操做。
2)從功能上看,JDBC就是簡單的創建數據庫鏈接,而後建立statement,將sql語句傳給statement去執行,若是是有返回結果的查詢語句,會將
查詢結果放到ResultSet對象中,經過對ResultSet對象的遍歷操做來獲取數據;Hibernate是將數據庫中的數據表映射爲持久層的Java對象,實現
數據表的完整性控制;MyBatis是將sql語句中的輸入參數和輸出參數映射爲java對象,放棄了對數據表的完整性控制,可是得到了更靈活和響應
性能更快的優點。
3)從使用上看,若是進行底層編程,並且對性能要求極高的話,應該採用JDBC的方式;若是要對數據庫進行完整性控制的話建議使用Hibernate;
若是要靈活使用sql語句的話建議採用MyBatis框架。
JDBC,MYBATIS,Hibernate性能對比!
我分別測試了插入兩行數據,選擇58行和349行數據進行對比。表中session factory表示初始化,建立session factory的時間。hibernate sql query表示hibernate採用原生SQL操做方式。
若是隻是偶爾操做一下數據庫。
那麼這個session factory時間會包含在內。可是若是大量操做數據,session factory時間之須要消耗一次便可,這個時候hibernate就佔優了。
讓我意外的是,mybatis性能沒有想象的好,甚至不如hibernate。hibernate在SQL模式下,性能有所改善,可是和JDBC相比,仍是遠遠不如。
不管在什麼模式下,JDBC能夠說搖搖領先,性能之王。插入基本上是其餘框架的3-5倍,選擇更是保持在10倍以上。若是在乎性能,那麼JDBC絕對是最佳的選擇。
圖上測試環境是:mySQL 5.6 hibernate 4.2,mybatis 3.2.1,都是這個時候的最新版本。
java操做數據庫鏈接池發現一篇很好的文章
http://www.blogjava.net/chunkyo/archive/2007/01/16/94266.html
http://www.360doc.com/content/12/0706/15/6161903_222624693.shtml