XML 聽說能夠靈活的進行註解,可是修改之後仍是要從新發布程序。固然,你能夠說,在Tomcat中改了,而後熱加載了,不就能夠了。但是通常狀況下都是幾臺,十幾臺服務器。都是用發佈系統,持續集成的方式部署。這點靈活性也就沒什麼意義了。固然,必定要說XML支持好,這點我不否定。然而在註解中支持了大部分功能,若是實在複雜一點的SQL可使用<script>方式或者使用Provider也行。git
那再說,ResultMap支持的很差,但從3.某個版本,支持使用id,這樣也能夠在必定程度上進行復用了。github
若是再說,Result 不支持繼承,這。。,我暫時沒有從註解中找相應的解決方案。服務器
在XML中最不爽的一點,就是一個接口定義好了,若是要查SQL還要去另外一個文件中查找。來回切換,比較消耗精力,特別是在查找問題的時候。mybatis
若是要說我把SQL跟代碼混在一塊兒了,的確是這樣。app
註解除了XML認爲的靈活外,但它能夠自定義一些註解 https://www.jianshu.com/p/03642b807688 (自定義 in , update 註解)ide
另外,今天花了幾個小時的時間作了一個把XML轉爲註解代碼小工具,沒什麼技術含量, 工具
對於些複雜的轉換仍是不太成功,至少能夠減小手工時間,把這點時間用來喝一杯也好。xml
mybatis xml mapper to annotation繼承
代碼地址: https://github.com/zbw911/mybitis-xmlmapper2annotation接口