我非常討厭Mybatis的其中一個原因就是因為這個~
hibernate這種生成SQL是"執行時"的;而Mybatis是"編譯時"的,改動一個欄位需要手動"修改"或者重新生成XML(這種需求在實際開發當中是很常見的,尤其是系統設計時間比較緊或者一些小專案,開發期間需要變動欄位是很普遍的~)
因為Mybatis這種機制,我覺得目前沒有很好的辦法處理這個問題;
我們之前一般是將"手寫的"和"生成的"分開管理~
修改欄位後手寫(自己管理的)自己改SQL,自動生成的重新生成一遍(可使用一些自動化工具,指令碼,外掛之類的);
個人覺得這種方式根本談不上優雅(希望有人能真正給一個優雅的方式)~
總之我一直覺得Mybatis多數情況下不是一個很好地選擇;
比如一些簡單的小專案(比如個人部落格這種)可以看看nutz這種框架;企業級管理軟體之類的用hibernate(hibernate用程式碼直接資料庫建模,然後匯出DDL和文件可以省去很多工作,出來的模型約束和完整性都還不錯,該加的約束和索引都能幫你加上,如果你自己設計資料庫你還得考慮一遍這部分內容);銀行/支付或者你認為hibernate有問題的專案(一般有問題,是因為你的開發人員hold不住,經驗不夠,而不是hibernate本身的問題)就用DButils,JDBCTemplate 或者自己封裝一個工具;
如果你們公司很大,有專門的人幫你寫SQL,檢查SQL你再考慮Mybatis~
個人意見~
我非常討厭Mybatis的其中一個原因就是因為這個~
hibernate這種生成SQL是"執行時"的;而Mybatis是"編譯時"的,改動一個欄位需要手動"修改"或者重新生成XML(這種需求在實際開發當中是很常見的,尤其是系統設計時間比較緊或者一些小專案,開發期間需要變動欄位是很普遍的~)
因為Mybatis這種機制,我覺得目前沒有很好的辦法處理這個問題;
我們之前一般是將"手寫的"和"生成的"分開管理~
修改欄位後手寫(自己管理的)自己改SQL,自動生成的重新生成一遍(可使用一些自動化工具,指令碼,外掛之類的);
個人覺得這種方式根本談不上優雅(希望有人能真正給一個優雅的方式)~
總之我一直覺得Mybatis多數情況下不是一個很好地選擇;
比如一些簡單的小專案(比如個人部落格這種)可以看看nutz這種框架;企業級管理軟體之類的用hibernate(hibernate用程式碼直接資料庫建模,然後匯出DDL和文件可以省去很多工作,出來的模型約束和完整性都還不錯,該加的約束和索引都能幫你加上,如果你自己設計資料庫你還得考慮一遍這部分內容);銀行/支付或者你認為hibernate有問題的專案(一般有問題,是因為你的開發人員hold不住,經驗不夠,而不是hibernate本身的問題)就用DButils,JDBCTemplate 或者自己封裝一個工具;
如果你們公司很大,有專門的人幫你寫SQL,檢查SQL你再考慮Mybatis~
個人意見~