JDBCJDBCTemplateMyBatisHiberante 比较与分析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBCJDBCTemplateMyBatisHiberante 比较与分析相关的知识,希望对你有一定的参考价值。

JDBC (Java Data Base Connection,java数据库连接)

JDBC(Java Data Base Connection,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序

  • 优点:运行期:快捷、高效
  • 缺点:编辑器:代码量大、繁琐异常处理、不支持数据库跨平台

技术分享

JDBCTemplate

JdbcTemplate针对数据查询提供了多个重载的模板方法,你可以根据需要选用不同的模板方法.如果你的查询很简单,仅仅是传入相应SQL或者相关参数,然后取得一个单一的结果,那么你可以选择如下一组便利的模板方法

  • 优点:运行期:高效、内嵌Spring框架中、支持基于AOP的声明式事务
  • 缺点:必须于Spring框架结合在一起使用、不支持数据库跨平台、默认没有缓存

MyBatis

MyBatis的前身就是iBatis,iBatis本是apache的一个开源项目,2010年这个项目由apahce sofeware foundation 迁移到了google code,并且改名

总体来说 MyBatis 主要完成两件事情

  1. 根据JDBC 规范建立与数据库的连接
  2. 通过Annotaion/XML+JAVA反射技术,实现 Java 对象与关系数据库之间相互转化

MyBatis优缺点如下:

  • 优点: 高效、支持动态、复杂的SQL构建, 支持与Spring整合和AOP事务、结果集做了轻量级Mapper封装、支持缓存
  • 缺点:不支持数据库跨平台, 还是需要自己写SQL语句

Hibernate

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用

Hibernate的核心类和接口一共有6个, 分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration这6个核心类和接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制

Criteria是一种比hql更面向对象的查询方式。Criteria 可使用 Criterion 和 Projection 设置查询条件.可以设置FetchMode(联合查询抓取的模式)设置排序方式,Criteria 还可以设置 FlushModel(冲刷 Session 的方式)和LockMode

1 Criteria crit = sess.createCriteria(Cat.class);
2 crit.setMaxResults(50);
3 List cats = crit.list();

 

Java事务API(JTA:Java Transaction API)和它的同胞Java事务服务(JTS:Java Transaction Service)为J2EE平台提供了分布式事务服务

视频观看地址:http://edu.51cto.com/index.php?do=lesson&id=84574

以上是关于JDBCJDBCTemplateMyBatisHiberante 比较与分析的主要内容,如果未能解决你的问题,请参考以下文章