相同点:
1. 都是通过xml建立sessionFactory,mybaits叫(sqlsessonFactory),然后得到session
2. 都有一级缓存和二级缓存,session为一级缓存
hibernate二级缓存为sessionFactory,session共享
myBatis二级缓存为package,不同session可以
不同点:
1. Hibernate有hql语句,执行查询并封装对象非常方便,myBatis需要自己处理ResultMap,比较复杂。
2. Hibernate的hql语句具有数据库无关性,会自动拼凑为响应数据库的sql语句,mybatis需要根据数据库的不同修改不同的sql语句。
3. Hibernate默认查询全部字段,否则就破坏hibernate的对象封装性,mybaits自己定义要查询的字段,性能好。
4. Hibernate事物默认不开启,需要自己手动提交,MyBatis自动开启事物。
5. Hibernate映射关系需要配置较多,不容易上手,MyBatis容易上手。
1. 都是通过xml建立sessionFactory,mybaits叫(sqlsessonFactory),然后得到session
2. 都有一级缓存和二级缓存,session为一级缓存
hibernate二级缓存为sessionFactory,session共享
myBatis二级缓存为package,不同session可以
不同点:
1. Hibernate有hql语句,执行查询并封装对象非常方便,myBatis需要自己处理ResultMap,比较复杂。
2. Hibernate的hql语句具有数据库无关性,会自动拼凑为响应数据库的sql语句,mybatis需要根据数据库的不同修改不同的sql语句。
3. Hibernate默认查询全部字段,否则就破坏hibernate的对象封装性,mybaits自己定义要查询的字段,性能好。
4. Hibernate事物默认不开启,需要自己手动提交,MyBatis自动开启事物。
5. Hibernate映射关系需要配置较多,不容易上手,MyBatis容易上手。
本文对比了Hibernate与MyBatis两种持久层框架的特点。从配置方式、查询语句、缓存机制、对象封装性及易用性等方面进行了详细解析。
1682

被折叠的 条评论
为什么被折叠?



