乐趣区

Hibernate与mybatis比较

Hibernate 与 mybatis 比较
1、先说底层:
a)Jdbc:全称 java 数据库连接,是 java 语言用来规范客户端如何访问数据库的程序接口。
b) 一般步骤:
i. 加载驱动程序

ii. 获得数据库连接诶

iii. 创建 Statement 或者 PrepareStatement 对象,实现增删改查

2、为了减少编写 jdbc 编写工作,提出了 orm 模型:hibernate 和 mybatis
a)Hibernate 是全表映射框架。
i. 优点:对 jdbc 封装较好,有 hql 可以自动生成 sql 语句。
ii. 缺点:对多表关联 复杂查询支持较差,不支持存储过程,不能满足开发者优化 sql 语句的愿望
b) Mybat 是半自动映射框架
i. 缺点:手动编写 sql 语句,以及映射关系,工作量大
ii. 优点:有动态 sql 机制,可以优化 sql 语句,支持存储过程
Hibernate 缓存机制
1、why:hibernate 是持久层框架,经常访问物理数据库。为了较少对数据库的访问,提高数据库访问性能,加入了 hibernate 缓存机制。
2、what:hibernate 包括一级缓存和二级缓存。
a) 一级缓存:又叫 session 的缓存,是事物范围的缓存,默认开启;
b) 二级缓存:又叫 sessionfactory 的缓存,默认关闭。二级缓存存放数据一般是不经常修改的数据,不会被并发访问的数据,常量数据;
c) 访问数据顺序是:一级缓存——》二级缓存——》数据库。

退出移动版