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)访问数据顺序是:一级缓存——》二级缓存——》数据库。