JDBC、JDBCTemplate、MyBatis、Hiberante 比较与分析

    xiaoxiao2022-12-09  47

    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 主要完成两件事情

    根据JDBC 规范建立与数据库的连接通过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(); 冯佳兴 认证博客专家 Redis ELk 消息队列 一名非常热爱计算机的 Boy,技术是一门哲学,愿意和我一起研究新的技术吗?本人坚持自主学习,站在巨人肩膀上学习,善于分享。我会经常分享系列基础博客,希望大家喜欢,有什么问题记得关注留言哦!
    最新回复(0)