spring jdbc和spring mybatis没什么很大的区别,为什么要用mybatis优势在哪里

2013-2-3 
 
同样都是要写sql,spring提供的JDBCTemplate也能将数据转换成对象,将对象插入到数据库,那使用spring时为什么还要用mybatis呢?直接用spring提示的JDBC不就行了,效率更高,mybatis的优势在哪里?
 
------------------------------
 
人月神话 回答于 2013-02-03 02:40
举报
mybatis有DAO模版,强大的代码生成工具。 
--- 共有 2 条评论 ---
说的是SqlSessionTemplate吗? JDBCTemplate其实也很不错的。 (11个月前 by 吃菜的鸟)
你说的那个模板是什么?能说下嘛 (11个月前 by 宝石娃娃)
有帮助(0) | 没帮助(0) | 评论(2) | 引用此答案
 
 
郝小杰 回答于 2013-02-03 08:43
举报
我主要是喜欢 mybiats 的动态sql  这个还是真不错的 其他的就一般了
--- 共有 2 条评论 ---
用了spring jdbc,那系统里就有俩套存取方法了。只用mybatis的话,可以保持系统的纯洁,更能将sql开发人员和java开发人员的任务分开。一般的话,都无所谓,搞CRUD的人很少会考虑其他问题 (11个月前 by 朱坤朋)
动态SQL?能举个例子吗? (11个月前 by 吃菜的鸟)
有帮助(0) | 没帮助(0) | 评论(2) | 引用此答案
 
 
点击此处 回答于 2013-02-03 13:03
举报
动态sql  spring也可以支持,需要加个其他的包!个人觉得,用spring再用mybiats纯属个脱裤子放屁!当然很多人很乐意这么做!
--- 共有 2 条评论 ---
回复 @xmut : freemarker包,或者xml文档,但是你要会解析! (11个月前 by 点击此处)
什么包?可不可以像Hibernate或Mybatis那样可以单独使用配置文件? (11个月前 by xmut)
有帮助(0) | 没帮助(0) | 评论(2) | 引用此答案
 
 
恺哥 回答于 2013-02-03 14:13
举报
建议你看看mybatis的文档,有中文版,mybatis再做相对大型的系统,还是有一定优势的。
比如sql重用,缓存的集成等。而且代码量也相对较小.
如果是小规模的项目,spring jdbc足矣
好人做到底,给你个传送门:http://www.mybatis.org/core/zh/index.html
有帮助(0) | 没帮助(0) | 评论(0) | 引用此答案
 
 
丁加砙 回答于 2013-02-03 14:19
举报
因为现在人都越来越懒了。
spring的jdbc,如果把sql挪出去单独维护就很不错了。当然MyBatis的SqlMapper更有语义性。
另外MyBatis提供了延迟加载方法。
cache部分现在可以单独维护,MyBatis的亮点确实变少了很多。
有帮助(0) | 没帮助(0) | 评论(0) | 引用此答案
 
 
吃菜的鸟 回答于 2013-02-04 21:32
举报
我仔细看了一下文档,发现mybatis确实还是有一些特性的。谢谢各位
有帮助(0) | 没帮助(0) | 评论(0) | 引用此答案
 
 
吃菜的鸟 回答于 2013-02-04 21:34
举报
引用来自“恺哥”的答案
建议你看看mybatis的文档,有中文版,mybatis再做相对大型的系统,还是有一定优势的。
比如sql重用,缓存的集成等。而且代码量也相对较小.
如果是小规模的项目,spring jdbc足矣
好人做到底,给你个传送门:http://www.mybatis.org/core/zh/index.html
谢谢你的传送,我已到达目的地,这个文档有没有PDF版的?我想下载
 
********************************************************************************
使用mybatis与直接用jdbc相比,有哪些优势?如果不涉及团队合作,有必要使用mybatis吗?
 
1、DAO层代码可以通过现有插件直接生成,大大提高编码效率和准确性(相比手工coding的失误等);
2、mybatis已有的连接池管理,缓存管理等所带来的代码性能优势和可靠性(作为一个工业级的开源框架,其代码是久经考验的);
3、一致的编码风格大大减少了代码的沟通交流成本;
 
-----------
mybatis自动提供了一级和二级缓存(需要配置打开),强大的动态sql,自动化的session管理,都比手工维护来的方便和安全
 
-----------
面向对象的开发效率会更高,毕竟可以自动生成数据库表的Model对象,少写一些基本sql。建议使用,不管是否团队作业
 
-----------
不用重复写resultset到domain的转化了。
posted @ 2012-07-01 11:18  linux,dev  阅读(9689)  评论(0编辑  收藏  举报