zoukankan      html  css  js  c++  java
  • mybatis简介(一)

    JDBC、Hibernate、Mybatis区别

    1.JDBC

    java程序都是通过JDBC连接数据库的,从而实现通过SQL对数据库编程。JDBC实际就是一系列规范,但是它只定义了接口规范,而具体的实现交由各个数据库厂商去实现。因为每个数据库都有其特性,这些是java规范没有办法确定的,所以JDBC就是一种典型的桥接模式。

    缺点:

    (1)工作量大,需要先连接,然后再处理事物与数据类型,还需要操作Connection对象,Statement对象与ResultSet对象,并关闭他们。

    (2)要对JDBC编程可能产生的异常进行捕获并正确关闭资源。

    因为他的复杂,ORM模型出现了。

    2.ORM模型(对象关系映射)

    所有的ORM模式都是对JDBC的封装,只是封装的强度不一样。

    主要解决数据库数据和POJO对象(j简单的JAVA对象)的相互映射。

    3.Hibernate

    hibernate通过xml映射文件(注解)直接操作数据库,全表映射

    优势:配置了映射文件与数据库连接文件后,就可以通过session操作。

    提供了级联、映射、缓存。

    缺点:

    (1)全表映射的不便,更新时需要发送所有的字段

    (2)无法根据不同的条件组装不同的SQL

    (3)对多表关联和复杂SQL查询支持较差

    (4)不能有效的支持存储过程

    (5)HQL性能较差

    4.mybatis

    (1)半自动映射,需要匹配SQL、POJO与映射关系,hibernate不需要提供SQL

    (2)可以配置动态SQL、优化SQL

    (3)自动映射,SQL列名与POJO的属性名一致

    5.怎样选取

    hibernate:场景不太复杂

    mybatis:需要灵活的。可优化、易维护。

  • 相关阅读:
    URL传参到servlet含特殊字符——#号无法传递
    textarea标签中间出现空格问题
    MySQL学习笔记(23)——自定义函数
    修改日期插件问题
    获取Spring的ApplicationContext的方法
    数据库用户被锁
    ava获得当前文件路径
    前端框架
    LeetCode 485. 最大连续1的个数
    LeetCode 283. 移动零
  • 原文地址:https://www.cnblogs.com/jqqiang/p/7617615.html
Copyright © 2011-2022 走看看