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接口