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的轉化了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM