现在 Mybatis 是更多使用注解还是 XML 进行配置?

2019-03-14 09:35:08 +08:00
 cwm165

本人在校生,不知道企业级开发是使用的哪种方式进行配置。

看过 刘增辉 的书,他推荐的更多是使用 XML 的方式,利于修改和扩展。

但是我在之前也给学校写过几个大型的项目,类似于预约或者信息录入系统。使用的都是注解的形式,这样看起来整个项目非常清爽。

各位有丰富实战经验的大佬帮忙解答解答呗,小生在此谢过。

12080 次点击
所在节点    Java
49 条回复
zhazi
2019-03-14 09:39:37 +08:00
xml 是 mybatis 的优势 如果用 mybatis 不用 xml 无疑是自费武功,注解方式有更好的选择
HuasLeung
2019-03-14 09:42:47 +08:00
注解比 XML 先进
luoyikang52066
2019-03-14 09:44:00 +08:00
结合吧,不复杂注解,复杂 xml
micean
2019-03-14 09:44:24 +08:00
kotlin+注解

xml 有个 p 的优势
NoKey
2019-03-14 09:49:08 +08:00
其实我觉得是看习惯,我习惯了 xml,就不想写注解,然而有的人习惯注解,就不想写 xml
这东西,我实在找不出先进不先进的差距
难道执行效率上有差异?
AnnieSWonderland
2019-03-14 09:50:42 +08:00
xml 更繁琐,复杂的语句用注解简直是灾难
blackboom
2019-03-14 09:53:21 +08:00
这还用选吗,当然是 JPA 啊
pelloz
2019-03-14 09:56:36 +08:00
简单的增删改查用 Mapper[https://github.com/abel533/Mapper/wiki]自动化生成,复杂的使用 XML 进行编写。
XML 有两个功能我们使用比较多。
1.引用 SQL 片段。
2.自定义标签语义,实现一些高级功能。
另外 Java 注解写 SQL 是用字符串拼起来的,不好看也不好修改,我们现在使用的 java8 还不支持 ` ` 反单引号的多行字符串。
Remote
2019-03-14 10:01:23 +08:00
我以前也是用xml,然后注解,再后来JPA
anzu
2019-03-14 10:01:52 +08:00
复杂查询 XML,可以在 SQL 编辑器格式化好代码后直接粘贴过来,更易读,方便大家。如果是简单查询,用 JPA 更方便。所以我觉得 mybatis 注解基本没什么优势。
guoyuchuan
2019-03-14 10:02:12 +08:00
这个看情况,如果全是单表查询,那就使用注解(一般都是些 mybatis 的插件),不用 xml,如果涉及到多表查询,还是得用 xml,而 xml 自己手写配置比较累,可以用逆向工程来构建,然后自己再向 xml 中写自己的 SQL ;
wucao219101
2019-03-14 10:02:40 +08:00
MyBatis Generator
assiadamo
2019-03-14 10:03:57 +08:00
我习惯在 xml 中配置,不把配置打到包里面,这样改 sql 就不需要重新打包部署了
chendy
2019-03-14 10:04:04 +08:00
一楼说 xml 是 mybaits 的优势…啥优势啊
TommyLemon
2019-03-14 10:09:20 +08:00
有意思,之前有类似的问题,可以看下或许有收获
现在用 mybatis 都不用 xml 了吗
https://www.v2ex.com/t/541755
br0x
2019-03-14 10:17:03 +08:00
复杂 sql 使用 xml 还是有优势的,尤其遗留业务系统,因为 sql 过长过复杂,使用注解并不够清晰,也可以把 xml 中的 sql copy 到数据库查询工具中一边查询,这样方便理解业务和 debug.遗留系统一般业务较重而且基本是面向数据库编程为指导思想来设计的,所以 mybatis 适合这类系统。
ghos
2019-03-14 10:28:40 +08:00
你想象一下 上百行 sql 写在注解里面是一种什么样的体验
coang
2019-03-14 10:32:41 +08:00
用通用 mapper 实现基础得增删改查 复杂得直接 xml
cwm165
2019-03-14 10:37:26 +08:00
@ghos 的确,看来还是我遇到的问题偏简单了
cwm165
2019-03-14 10:38:40 +08:00
@pelloz @coang 这种方式不错,感谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/544408

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX