Mybatis如何能达到SpringDataJpa的效率?

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类生成建表语句
Mybatis如何能达到SpringDataJpa的效率?_第1张图片
从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的效率?)