Hibernate
什么是Hibernate
Hibernate是一个全ORM框架,自动生成并执行SQL语句,只需定义POJO到数据库表里的映射关系
注解:何为POJO
POJO(plain ordinary java object) 简单无规则java对象
纯的传统意义的java对象。就是说在一些Object/Relation Mapping工具中,能够做到维护数据库表记录的persisent object完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法。即最基本的Java Bean,只有属性字段及setter和getter方法
优劣:
- 数据库方便移植
- 不需要管理数据库的连接
- 消除了代码的映射关系,在XML/注解中自动配置
- 门槛高,所学内容多
- 难懂,框架结构复杂
MyBatis
什么是MyBatis
MyBatis是一个半自动化得ORM,它需要手工匹配提供POJO、SQL和映射关系,是一个java持久层框架。
解决了Hibernate的不足,是目前java移动互联网网站服务的首选持久层框架,适合分布式和大数据网络数据库编程
优劣:
- 封装少、高性能、可优化、维护简单。
- 可手工定制sql,实现sql与java代码分离,灵活性高
- 只需要sql进行操作,不需要学习额外的内容
- 数据库移植性不好,不同的数据库需要写不同SQL
两者的区别
Hibernate用于传统型公司,需求单一,业务明确。
MyBatis用于互联网公司,需求多样化,快速发展。