mybatis的注解方式对比xml方式到底有什么缺点?什么场景不适用?

tpwonline
  • 518

看了一些网上说两种方式的对比,很多都是泛泛而谈。
有的说可以更好地进行解耦,这里我不是很理解。
我觉得注解方式开发很方便呀,可以少写好多东西。
而且提到解耦,我不是很理解Dao层还要解耦什么?这一层是做数据访问的,已经到了后端程序的最底层了,常用sql都支持,不就可以了吗?
求解。
用xml方式是为了追求完美的设计(优雅),还是有一些场景是注解方式解决不了的,必须要用到xml方式?

回复
阅读 1k
2 个回答

这个你真正做过项目就知道了, 这个和为啥要把 jdbc 连接写到配置文件中一样, 因为类要编译, 并且不能直接查看内容, 当项目上某个 sql 出问题了, 你用注解的方法需要把 class 下载到本地反编译(如果项目有多个版本的话, 因为部署的肯定不和本地代码库一样), 而 xml 就可以直接查看和编辑.

如果觉得我的解答不错, 可以帮支持下我的项目, 可以帮助开发做很多的事情

https://gitee.com/sanri/sanri...

没有详细了解过,仅凭个人感受。个人感觉最大的好处当然就是解除耦合度,就像controller 和 service那种模式,一个提供api接口,一个负责实现具体逻辑。每次当需要关注逻辑部分的时候都知道去查询xml, 如果需要查接口就去找mapper,挺节省心智的,而且sql语句感觉也更加的灵活多变,改起来也非常的轻松。当然有些功能确实注解不提供,xml更强大,但似乎这并不是重点。当mybaits plus 出现的时候,为了偷懒,我就开始用mybaits plus, 用着用着我就开始凌乱了,感觉这非常像hibernate 而且还没有hibernate那么强大,于是乎又开始了jpa。使用的时候产生了很奇怪的循环,hibernate->mybatis->mybatis plus->jpa。

宣传栏