zoukankan      html  css  js  c++  java
  • 所谓的持久层框架?ORM框架?以及Hibernate和Mybatis区别?

    ORM框架?

    Object Relational Mapping,对象-关系映射。

    项目中的业务实体有两种表现形式:对象和关系数据,即在内存中表现为对象,在数据库中表现为关系数据。

    为什么需要ORM框架?

    ORM框架是对象关系映射,那为什么要映射mapping?

    因为对象之间可以存在关联和继承关系,但是在数据库中,关系数据无法表达多对多关联和继承关系。(ps:在数据库原理中,会把逻辑上的多对多转换为多个一对关系才能实现)因此,对象和关系(业务实体的两种表现形式)想要映射正确,项目系统一般以中间件的形式,即持久层框架。

    Hibernate?

    Hibernate是一个开源的对象关系映射框架。

    它对jdbc进行了非常轻量级的对象封装,将pojo(普通的Java对象)与数据库表建立映射关系,是一个全自动的ORM框架,甚至自动生成SQL语句,自动执行。

    因此,程序员可以随心所有地使用对象编程思维来操纵数据库。

    Hibernate特点:

    1. Hibernate通过修改一个“持久化”对象的属性,从而修改数据库表中对应的记录数据
    2. 提供线程和进程两个级别的缓存提升应用程序性能
    3. 有丰富的映射方式将Java对象之间的关系(POJO)转换为数据库表之间的关系
    4. 屏蔽不同数据库实现之间的差异。在Hibernate中只需通过“方言”的形式指定当前使用的数据库,就可以根据底层数据库的实际情况生成适合的SQL语句
    5. 非侵入式。Hibernate不要求持久化类实现任何接口或继承任何类,POJO即可

    a)       比较Mybatis,Mybatiis最简单安装只需要2个jar包+几个sql映射文件

    Mybatis?

    Mybatis是一款优秀的持久层框架。

    支持定制化SQL、存储过程以及高级映射。

    Mybatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。

    Mybatis可以使用简单的xml或注解来配置和映射原生信息,将接口和JAVA的POJOs映射成数据库的记录

    Mybaits特点:

    1. 简单易学。没有任何第三方依赖,最简单只需要2个jar包+几个sql映射文件,通过文档和源代码,即可比较完全的掌握它的设计思路和实现
    2. 灵活。不会对应用程序或者数据库的现有设计强加任何影响。Sql写在xml里面,便于统一管理和优化。通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能。
    3. 解除sql与程序代码的耦合。通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。
    4. 提供映射标签,支持对象与数据库的ORM字段关系映射
    5. 提供对象关系映射标签,支持对象关系组建维护
    6. 提供xml标签,支持编写动态sql

    Uncharacteristic front-end development intern.
  • 相关阅读:
    TensorFlow 用神经网络解决非线性问题
    找第一个只出现一次的字符
    scanf("%[^ ]",str)
    求第n个质数
    得到任意数字的各个数位
    Tensorflow 对上一节神经网络模型的优化
    Tensorflow 安装 和 初识
    算法竞赛入门 (一)语言篇 数组和字符串 2
    char* a = "abc" 和 char a[] = "abc" 之间的区别
    Python实现英文文章加密传送,收到后进行解密
  • 原文地址:https://www.cnblogs.com/hoanfir/p/9031350.html
Copyright © 2011-2022 走看看