lixueyu001
V2EX  ›  问与答

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

  •  1
     
  •   lixueyu001 · May 11, 2018 · 3401 views
    This topic created in 2933 days ago, the information mentioned may be changed or developed.
    1、用 MyBatis Generator 去生成实体类和 Mapper,XML,这种方式以后新增字段的时候挺麻烦的,有自己手写的 sql。
    2、看 OSChina 里有个通用 Mapper 有人在生产上实际用过吗,我之前测试的时候好像有过 where 条件多拼少拼的情况,现在版本升级了不知道如何。
    3、还是自己去纯手写控制,这种方式有点增加工作量。
    4、求教各位现在都怎么去使用 MyBatis,有更独到使用或封装方式吗?
    9 replies    2018-05-11 18:09:41 +08:00
    nifanle7
        1
    nifanle7  
       May 11, 2018
    正在学习中,想了解一下常规的用法。
    Mogugugugu
        2
    Mogugugugu  
       May 11, 2018   ❤️ 3
    1、手写 SQL 只有在复杂查询或者多表关联查询 SQL 的情况下会使用。返回通常是 BaseResultMap,直接改这个 resultMap 就行,不会出现很多的改动。另外提前设计好表结构也是很重要的。
    2、通用 Mapper 我们一直再用,包括该作者的 PageHelper,也是一直再用,好几个项目了,都已经上了生产环境,至今还没出现什么问题,单表的增删改查都是通过通用 Mapper 的方法完成的,当然有些特殊需求我们也有自己的扩展,我们从 3 开始用,最近升级到 4 了,稳定性没啥问题。
    3、纯手写去控制 指的是手写 SQL 么? Mybatis 是半自动的 ORM 框架,所以入门低,如果觉得麻烦的话 Hibernate 考虑一下?
    4、没有什么封装方法,Mybatis 门槛已经很低了,配合通用 Mapper + 代码生成,开发人员写少量 SQL 就能完成任务,PS:项目里面不允许出现特别特别复杂的 SQL,短小 SQL 为主,便于后期扩展优化 。
    daimazha
        3
    daimazha  
       May 11, 2018
    MBG 有修改的时候重新生成就好了,自己手写的 sql 建议单独一个 mapper,不要跟自动生成的写在一起
    lixueyu001
        4
    lixueyu001  
    OP
       May 11, 2018
    @Mogugugugu 多谢,配合通用 Mapper + 代码生成 + 少量手写代码的方式不错。
    lixueyu001
        5
    lixueyu001  
    OP
       May 11, 2018
    @daimazha 一个 Mapper 接口可以去映射多个 xml 文件?还是用别的方式做到。
    lance7in
        6
    lance7in  
       May 11, 2018
    MyBatis Generator
    这个每次重构的时候用用挺爽的
    日常就算了
    ob
        7
    ob  
       May 11, 2018 via Android
    @lixueyu001 可以多个,不要跟生成的放在一起
    xuhaoyangx
        8
    xuhaoyangx  
       May 11, 2018
    xcolder
        9
    xcolder  
       May 11, 2018
    就用 Generator 生成就可以,然后自己写的 SQL 放在另一个 XML 中,通过 Mapper 继承一下 Generator 生成的 XML 不要改动
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2829 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 15:08 · PVG 23:08 · LAX 08:08 · JFK 11:08
    ♥ Do have faith in what you're doing.