美文网首页mysql
Mybatis如何能达到SpringDataJpa的效率?

Mybatis如何能达到SpringDataJpa的效率?

作者: 葛俊_0f97 | 来源:发表于2019-03-28 15:09 被阅读810次

    SpringDataJpa相比Mybatis,开发效率比较高
    具体在以下几点

    • 自动生成建表语句
    • 根据方法名来解析生成单表的查询sql 不需要写sql
    • 自动生成join关联语句

    Mybaits 相比SpringDataJpa的优势 主要是学习起来简单 没有一堆的概念需要学 好上手 可以直接看到sql

    Mybatis有一个代码生成器 mybatis generator http://www.mybatis.org/generator/
    可以生成通用的crud方法
    另外使用example 也可以生成类似于SpringDataJpa的查询sql

    mybatis generator的使用并没有那么方便

    • 需要建表 需要配置一个xml文件 每加一张表需要配置下
    • 数据库添加减少字段 重新生成时 会覆盖mapper接口文件
    • 自动生成的方法不能定制 example用起来很麻烦
    • 不能生成join

    如何解决以上问题 提升mybatis的开发效率

    写建表语句太麻烦 写java类简单 需要能直接从java类生成建表语句

    配置mybatis generator的xml 麻烦 一键从数据库表生成代码

    表增加或减少字段后不应该覆盖接口 而是合并 不改变手动加的接口方法

    使用example太麻烦 mybatis一键从方法名生成sql

    mybatis一键生成join查询 并且在数据库加减字段后保持相应变化

    只需要一个IDEA插件 https://github.com/gejun123456/MyBatisCodeHelper-Pro 就解决了上面所有问题

    • 从java类生成建表语句
    从java类生成建表语句.gif
    • 直接从表生成crud代码 加减字段后 合并接口和sql 可定制生成的方法 生成service等


      数据库生成和合并代码.gif
    • 一键从方法名来生成sql 使用了通用mapper和mybatisplus也可以生成 下面是部分生成演示


      一键从方法名生成sql.gif
    • 2.5版本可一键生成两张表的join查询


      一键生成两张表关联的join.gif

    以上只是插件的部分功能

    插件还有其他一系列功能

    • 从xml快速测试sql是否有误
    • mybatis标签识别 如 set where include trim等 在这些标签后的sql 也可以智能补全
    • 一键生成testcase 快速测试写好的的sql
    • mybaits xml 自动补全和检测 几乎所有的标签都有自动补全
    • mybatis spring支持 typealias支持
    • 一键从sql语句导出resultMap和java类
    • 一键生成分页查询

    用了插件 你的效率就不会比SpringDataJpa低了 完全基于原生的Mybatis 只做增强
    插件是收费的,仅需29元一年,开发两年多了,欢迎大家试用,用过的都说好用:)

    具体文档地址: https://gejun123456.github.io/MyBatisCodeHelper-Pro/#/
    试用地址:http://brucege.com/

    相关文章

      网友评论

        本文标题:Mybatis如何能达到SpringDataJpa的效率?

        本文链接:https://www.haomeiwen.com/subject/gpgfbqtx.html