WEB 中srping ssh 与ssi的比较

来源:互联网 发布:2016新款羊绒衫淘宝网 编辑:程序博客网 时间:2024/05/20 09:46

 

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 都说没它们搞不定喔.
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 后妈的味道中文字幕 妻子和她的学生中文字幕 朋友的妻子和母亲hd高清中文字幕 丈夫面前侵犯入侵在线看 兄弟侵犯大嫂5中文字幕在线 暴风雨夜与妻子朋友独处 年轻的女老板3中文字 兄弟侵犯大嫂中文字幕迅雷视频 大香煮蕉伊在线网视频推手 91青青城线在人线免费人人人 91青青城人线在人线 95青青成线人人 青青成线小说 青青成线人线免 第一成一肉区免 费91 欧洲第一肉场 欧洲第一成肉区免 费91ap 免费欧洲第一成肉区免 费91 欧洲第一成一肉区免 费9 欧洲第一成一肉区免 费91人雨马 欧洲笫一肉区l1041 久碰人人澡人人澡人人澡人人澡 看欧洲第一成肉区免 免费在 线人擦人人搞人视频人人人 人人差人人搞人视频 人人看人人揉人人捏动漫 超越人人夜人人看视频 人人玩人人弄人槽视频动漫 草人人拍人人躁 人人人人看人谢97 免费在 线人擦人人搞人视频动漫视频 人人看人人揉人人捏视频 青青成线人线免费公开 亚成区1216成线人 青青成年在人线免费人人拍人人 人玩人人弄人人 人人看人人揉人人捏免费线看 人上人人玩人人与人意义 人在人上人在肉中 人下人人上人捧人 八人来人人上人个草人