JDBC、Ibatis、Hibernate对比、以及优点缺点(个人总结)
2011-08-15 08:15
281 查看
Ibatis优点
与JDBC比较:
1.减少了大约61%的代码量
2.简单,容易上手
3.架构级性能增强
4.sql语句与程序代码分离(便与修改)
5.简化项目中的分工
6.增强了移植性(数据库的可移植性)
缺点:
1.sql需要自己写(当然也有好处、比如某些SQL语句手动写的要比自动生存的性能要高)
2.参数只能带一个(解决方法配置ParameterMap)疑问:如果用JDK5.0新特性的可变参数呢来进行设计呢
Hibernate优点
1.对象关系数据库映射,抛弃了数据库中心的思想,完全面向对象的思想
2.透明持久化
3.事物
4.它没有浸入性,即所谓的轻量级框架
5.移植性很好
6.缓存机制,提供一级缓存、二级缓存
7.简洁的HQL编程
缺点
一、由于对持久层封装过于完整,导致DBA无法对SQL进行优化,效率降低;
二、Hiberante的映射文件的编写也显得比较繁琐,容易出错。
三、不能灵活使用原生SQL
四、对JDBC的封装导致与数据库交互效率明显降低。框架中大量使用反射机制也是运行效率变慢
五、N+1问题
六、Hibernate在批量处理数据的时候是弱势
JDBC、IBatis、Hibernate明显对比
jdbc更为灵活,更加有效率,系统运行速度快。但是用起来麻烦,有的时候用了存储过程就不方便数据库移植了。
Hibernate,IbatIS 关系数据库框架,开发速度快,更加面向对象,可以移植更换数据库,但影响系统性能。
三者对比
jdbc:手动
手动写sql
delete、insert、update要将对象的值一个一个取出传到sql中,不能直接传入一个对象。
select:返回的是一个resultset,要从ResultSet中一行一行、一个字段一个字段的取出,然后封装到一个对象中,不直接返回一个对象。
ibatis的特点:半自动化
sql要手动写
delete、insert、update:直接传入一个对象
select:直接返回一个对象
hibernate:全自动
不写sql,自动封装
delete、insert、update:直接传入一个对象
select:直接返回一个对象
以上是我个人总结的优缺点,如果有不正确之处或者需要补充希望高手指出!
与JDBC比较:
1.减少了大约61%的代码量
2.简单,容易上手
3.架构级性能增强
4.sql语句与程序代码分离(便与修改)
5.简化项目中的分工
6.增强了移植性(数据库的可移植性)
缺点:
1.sql需要自己写(当然也有好处、比如某些SQL语句手动写的要比自动生存的性能要高)
2.参数只能带一个(解决方法配置ParameterMap)疑问:如果用JDK5.0新特性的可变参数呢来进行设计呢
Hibernate优点
1.对象关系数据库映射,抛弃了数据库中心的思想,完全面向对象的思想
2.透明持久化
3.事物
4.它没有浸入性,即所谓的轻量级框架
5.移植性很好
6.缓存机制,提供一级缓存、二级缓存
7.简洁的HQL编程
缺点
一、由于对持久层封装过于完整,导致DBA无法对SQL进行优化,效率降低;
二、Hiberante的映射文件的编写也显得比较繁琐,容易出错。
三、不能灵活使用原生SQL
四、对JDBC的封装导致与数据库交互效率明显降低。框架中大量使用反射机制也是运行效率变慢
五、N+1问题
六、Hibernate在批量处理数据的时候是弱势
JDBC、IBatis、Hibernate明显对比
jdbc更为灵活,更加有效率,系统运行速度快。但是用起来麻烦,有的时候用了存储过程就不方便数据库移植了。
Hibernate,IbatIS 关系数据库框架,开发速度快,更加面向对象,可以移植更换数据库,但影响系统性能。
三者对比
jdbc:手动
手动写sql
delete、insert、update要将对象的值一个一个取出传到sql中,不能直接传入一个对象。
select:返回的是一个resultset,要从ResultSet中一行一行、一个字段一个字段的取出,然后封装到一个对象中,不直接返回一个对象。
ibatis的特点:半自动化
sql要手动写
delete、insert、update:直接传入一个对象
select:直接返回一个对象
hibernate:全自动
不写sql,自动封装
delete、insert、update:直接传入一个对象
select:直接返回一个对象
以上是我个人总结的优缺点,如果有不正确之处或者需要补充希望高手指出!
相关文章推荐
- JDBC、Ibatis、Hibernate对比、以及优点缺点
- JDBC、Ibatis、Hibernate对比、以及优点缺点
- 总结传统JDBC以及MyBatis和Hibernate的对比
- 总结传统JDBC以及MyBatis和Hibernate的对比
- 推荐系统中常用算法 以及优点缺点对比
- 推荐系统中常用算法 以及优点缺点对比
- mybatis(1)--对于jdbc的回顾以及其缺点总结
- 推荐系统中常用算法 以及优点缺点对比
- JDBC、Hibernate、iBATIS 对比
- JDBC iBatis Hibernate的区别及各自的优缺点总结
- 传统JDBC以及MyBatis和Hibernate的对比
- 关于缓存的优化以及memcache的优点个人总结
- 对于框架Hibernate以及iBatis的个人认知
- 《Spring学习总结之——对JDBC,Hibernate,Mybatis支持对比总结》
- SSH的项目中,使用getHibernateTemplate 与 getSession有什么的区别?优点与缺点是什么
- JDBC,MYBATIS,Hibernate性能对比!
- 有关Hibernate优点和缺点的阐述
- ibatis和hibernate的区别,以及如何选择~
- Spring 使用getHibernateTemplate 与 getSession有什么的区别?优点与缺点是什么