大家平时都是怎么用 MyBatis 的?

2018-05-11 16:26:21 +08:00
 lixueyu001
1、用 MyBatis Generator 去生成实体类和 Mapper,XML,这种方式以后新增字段的时候挺麻烦的,有自己手写的 sql。
2、看 OSChina 里有个通用 Mapper 有人在生产上实际用过吗,我之前测试的时候好像有过 where 条件多拼少拼的情况,现在版本升级了不知道如何。
3、还是自己去纯手写控制,这种方式有点增加工作量。
4、求教各位现在都怎么去使用 MyBatis,有更独到使用或封装方式吗?
2715 次点击
所在节点    问与答
9 条回复
nifanle7
2018-05-11 16:32:54 +08:00
正在学习中,想了解一下常规的用法。
Mogugugugu
2018-05-11 16:47:02 +08:00
1、手写 SQL 只有在复杂查询或者多表关联查询 SQL 的情况下会使用。返回通常是 BaseResultMap,直接改这个 resultMap 就行,不会出现很多的改动。另外提前设计好表结构也是很重要的。
2、通用 Mapper 我们一直再用,包括该作者的 PageHelper,也是一直再用,好几个项目了,都已经上了生产环境,至今还没出现什么问题,单表的增删改查都是通过通用 Mapper 的方法完成的,当然有些特殊需求我们也有自己的扩展,我们从 3 开始用,最近升级到 4 了,稳定性没啥问题。
3、纯手写去控制 指的是手写 SQL 么? Mybatis 是半自动的 ORM 框架,所以入门低,如果觉得麻烦的话 Hibernate 考虑一下?
4、没有什么封装方法,Mybatis 门槛已经很低了,配合通用 Mapper + 代码生成,开发人员写少量 SQL 就能完成任务,PS:项目里面不允许出现特别特别复杂的 SQL,短小 SQL 为主,便于后期扩展优化 。
daimazha
2018-05-11 16:48:07 +08:00
MBG 有修改的时候重新生成就好了,自己手写的 sql 建议单独一个 mapper,不要跟自动生成的写在一起
lixueyu001
2018-05-11 16:57:39 +08:00
@Mogugugugu 多谢,配合通用 Mapper + 代码生成 + 少量手写代码的方式不错。
lixueyu001
2018-05-11 16:59:29 +08:00
@daimazha 一个 Mapper 接口可以去映射多个 xml 文件?还是用别的方式做到。
lance7in
2018-05-11 17:48:02 +08:00
MyBatis Generator
这个每次重构的时候用用挺爽的
日常就算了
ob
2018-05-11 17:50:22 +08:00
@lixueyu001 可以多个,不要跟生成的放在一起
xuhaoyangx
2018-05-11 17:50:31 +08:00
xcolder
2018-05-11 18:09:41 +08:00
就用 Generator 生成就可以,然后自己写的 SQL 放在另一个 XML 中,通过 Mapper 继承一下 Generator 生成的 XML 不要改动

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

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

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

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

© 2021 V2EX