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

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

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

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

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

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

12097 次点击
所在节点    Java
49 条回复
cwm165
2019-03-14 10:39:48 +08:00
@blackboom Spring Data JPA 听到很多次推荐了,学习一波
Amit
2019-03-14 10:48:09 +08:00
复杂查询用注解的你们开心就好。如果业务简单就用 JPA 了也不会用 mybatis 注解。用 xml 并不丑,java 里写 sql 才是真的丑。
ahmcsxcc
2019-03-14 11:13:30 +08:00
这种怎么用注解啊
BBCCBB
2019-03-14 11:23:11 +08:00
当然是配合使用,那种容易理解的一行就能搞定的就注解,复杂点的就 xml
gejun123456
2019-03-14 11:23:43 +08:00
@ahmcsxcc #23 这个复杂的 sql 你咋写的.. 配置下 IDEA 的数据库就可以做自动补全了 https://www.jianshu.com/p/d997d278813c

如何提升 mybatis 开发的效率,可以试试 https://github.com/gejun123456/MyBatisCodeHelper-Pro IDEA 插件
Raymon111111
2019-03-14 11:25:49 +08:00
这都说的是啥

正确答案是, 看团队习惯, 定下来了之后大家统一用一种.
ahmcsxcc
2019-03-14 11:27:23 +08:00
@gejun123456 #25
专门的 DBA 写的
micean
2019-03-14 11:43:52 +08:00
interface OneMapper: AnyMybatisPluginMapper<Entity> {

@Select("""
1. Idea inject language -> xxxSQL
2. 配置数据库,用于 auto complete
3. 开始写复杂 sql
""")
fun querySomething(): List<Entity>

}


等 jdk13 出来了,多行字符串都有了,xml 这种早该丢了
lyog
2019-03-14 11:48:58 +08:00
去年底的一个小项目尝试了下注解,难用到爆,回头再用 XML,真香
serical
2019-03-14 11:50:30 +08:00
自动生成的不动,自己增加的用注解,省的数据库增加字段重新生成需要整理 xml
Shynoob
2019-03-14 11:52:13 +08:00
当然是根据业务来啊,那些报表类的 你用注解不是给自己找刺激吗?
serical
2019-03-14 11:53:33 +08:00
@ahmcsxcc SelectProvider
yiyi11
2019-03-14 12:36:42 +08:00
经常跳槽用注解,否则用 xml。
Macolor21
2019-03-14 12:56:14 +08:00
@ghos
SelectProvider 了解一下?利用反射还可以生成基本的 SQL 语句
gejun123456
2019-03-14 12:59:39 +08:00
@Macolor21 sql 没自动提示,用起来没有 xml 方便
NoKey
2019-03-14 13:26:25 +08:00
@micean 我们这里还大量使用 jdk7,少部分用 8,我感觉就算 jdk 升级到 20,我们这里依然是 7。。。有多少公司是追着 jdk 新版在用的?
imNull
2019-03-14 13:42:57 +08:00
这个看团队吧 ,目前在用 xml
glaucus
2019-03-14 13:53:56 +08:00
出于对 xml 的厌恶和偏见,一般用注解+Provider 的形式
micean
2019-03-14 14:26:23 +08:00
@NoKey
kotlin-stdlib 支持 6 以上
j 调用 k 即可
woscaizi
2019-03-14 14:38:16 +08:00
Mybatis-plus 这个 mybatis 增强框架不错。
简单的 sql 我用注解。
涉及多表或者复杂条件的用 xml。
不过大部分 mybatis-plus 的 QueryWrapper 都可以搞定。

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

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

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

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

© 2021 V2EX