尽管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