Mybatis ORM思想

Mybatis的作用
        Mybatis是持久层框架, 利用 ORM 设计的原理实现对象关系映射. Mybatis底层将JDBC进行封装. 从而简化了用户操作数据库的过程.
        Mybatis是半自动化的ORM映射框架
        半自动化的原因: 数据库不认识对象, 只认识Ssql语句, 所以ORM要把对象转化成Sql语句, 通过反射动态获取操作的字段和值, 不如直接new对象传参, 指定数据进行操作速度快

ORM(对象关系映射)
        对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是通过使用描述对象和数据库之间映射的元数据, 将面向对象语言程序中的对象自动持久化到关系数据库中. 本质上就是将数据从一种形式转换到另一种形式. 这也同时暗示着额外的执行开销; 然而, 如果ORM作为一种中间件实现, 则会有很多机会做优化, 而这些在手写的持久层并不存在. 更重要的是用于控制转换的元数据需要提供和管理; 但是同样, 这些花费要比维护手写的方案要少; 而且就算是遵守ODMG规范的对象数据库依然需要类级别的元数据.

映射
对象------------数据表
对象的属性------------数据表中的字段

ORM要求
        以面向对象的方式操作数据库
        1. 以对象的方法进行数据库的CRUD操作(省略了Sql语句的编辑)
        2. 将结果集自动的封装为对象

Mybatis常规操作
        1. Mybatis操作数据库依然采用Sql语句的方式操作数据库(所以Mybatis不是一个完全的ORM框架, 是半自动化的ORM映射框架)
        2. Mybatis可以将结果集自动的映射为对象

Mybatis操作数据库执行顺序
Mybatis----SqlSessionFactory----SqlSession(以ORM的方式封装了JDBC)----操作数据库.

Mybatis和Hibernate区别

  1. Mybatis半自动ORM框架-要写Sql, Hibernate全自动ORM框架-不用写Sql
  2. Mybatis效率比Hibernate高同时解决了ORM映射关系, 简化了程序员的操作过程
  3. Hibernate不适用于海量数据库的应用, 中小型企业用起来比较简单, 数据量大的情况选择Mybatis

你可能感兴趣的:(Mybatis ORM思想)