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类生成建表语句
-
直接从表生成crud代码 加减字段后 合并接口和sql 可定制生成的方法 生成service等
-
一键从方法名来生成sql 使用了通用mapper和mybatisplus也可以生成 下面是部分生成演示
-
2.5版本可一键生成两张表的join查询
以上只是插件的部分功能
插件还有其他一系列功能
- 从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/