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

相关推荐