WEB 中srping ssh 与ssi的比较
来源:互联网 发布:威纶触摸屏编程实例 编辑:程序博客网 时间:2024/06/10 06:12
目录(?)[+]
Ibates和hibernate的作用无外乎就是和数据库表进行O/Rmapping;
使用hibernate你会觉得非常简单,因为你将从DAO层解放出来。而使用ibates,你将不会有这种感觉,因为你依然需要完成DAO那枯燥的工作,和不用框架不同的是,你将不再直接对数据库进行操作,而是通过ibates操作xml文件(这些文件是数据库映射的关键)。
一般使用ibates的项目都是需求后期变化很大的项目,或者说根据项目安排需要一部分项目先完成并且部署运行了,这时用ibates无疑是比较好的选择,因为你后期的表还是需要修改的,如果你要是使用hibernate的话,那么如果你对某一个表字段进行修改之后你会发现那些处于dao层的hibernate就要开始罢工了,因为hibernate是自动从对象到数据库完成映射的,这样除非你能严格按照他的规则修改数据库,但是人非机器,孰能无过,一过足以让你的程序歇菜了。
hibernate是全封装型orm,做一些需要灵活操作数据库的东东效果很不理想,而且配置了诸如一对多,多对多等映射后,经常会查询一些不必要的数据,即便写了一些可优化性能的配置语句,也会至少查个id出来。而ibatis不会有这种问题,ibatis也是orm一种实现,不同的是sql要自己写,现在只有白痴程序员才不会sql。自己写的sql肯定要灵活,肯定会提高系统性能。但是缺点是开发时间长。ibatis的开发效率明显没有hibernate快
为什么使用ibatis而不用spring jdbcTemplate
1:ibatis仅仅是对jdbc薄薄的一层封装,完全不丧失sql的灵活性
2:ibatis所有的sql都可以放在配置文件中,这样有利于sql的集中管理,特别是在sql tuning是很容易把得到所有的sql,如果使用spring jdbctemplate,那么难免要在sql adv上调试好了sql,然后在粘贴到java代码中,会有一大堆的StringObj+=和 StringBufferObj.append() ,如果sql 很长,那么总是copy , paste 也很烦,ibatis没有这样的问题。
3:ibatis可以把查出的结果集自动mapping成po,不用写一行代码,只需配置一下ResultMap参数即可,而jdbcTemplate大多数情况都要手动的mapping或者实现MappingSqlQuery,ResultSetExtractor等,无论如何都要编程,这些都是体力活,如果使用了ibatis,这些体力活完全可以省去。
4:ibatis内置cache机制,同时还可以和osCache集成,cache的也是可以配置的,如果配置得当可以大大提高程序性能。
5:ibatis支持动态sql,不需要在java里有那么多if, else,完全可配置
学不完的. 学好这些后, 还有 NoSQL 阵营的一堆不保证 ACID 的数据库等著你学... 别笑喔, google 和 amazon 都说没它们搞不定喔.
- WEB 中srping ssh 与ssi的比较
- WEB 中srping ssh 与ssi的比较
- SSH框架与SSI框架的区别
- SSH框架与SSI框架的区别
- SSH和SSI架构比较
- ssh与telnet的比较
- Telnet与SSH的比较
- Srping Mvc maven web
- SSH中 applicationcontext.xml与web.xml的配置
- SSH中web的配置
- Srping注入中 ref local与ref bean区别:
- Java Web传统SSH框架与JFinal框架比较
- 传智播客 srping的AOP简介与事务传播特性总结
- srping的AOP简介与事务传播特性总结
- Srping MVC中Controller的void方法声明误区
- 静态页面的扩展名与SSI
- SSI与Velocity解析时的区别
- Apache中ssi的配置方法
- Android 图表显示的新方案
- 解决window全局快捷键被占用的问题
- Android NDK开发基础
- oracle rownum 学习
- Ext Js Grid 编辑 新增 删除 保存的一个小示例
- WEB 中srping ssh 与ssi的比较
- 数据库加密
- extjs入门之helloword
- extjs面向对象一
- py2exe使用方法
- extjs面向对象二
- WCHAR,CHAR,TCHAR的区别
- extjs事件demo
- 设置网页标题图片