您现在的位置是:首页 > 文章详情

springdata mybatis mini 版本 2.2.2 更新,简化 mybatis

日期:2020-05-10点击:532

更新日志

  1. 支持 LocalDateTime LocalDate LocalTime jdk8 的日期格式
  2. 更改 jsqlparser 依赖,避免依赖冲突
  3. 简化动态 sql 方式,改为自定义的 ognl,提高性能,统一写法

特性

  1. 抛弃繁琐的 xml,只使用 mybatis 模版引擎即动态 sql 能力,sql 写在 markdown 文件里,便于书写和阅读
  2. 底层 jdbc 使用 spring jdbc
  3. 简化 mybatis 动态 sql 写法,比如:
 {@and id in idList} 等于 <if test="null!=idList and idList.size>0"> and id in <foreach collection="idList" index="index" item="item" open="(" separator="," close=")">#{item}</foreach></if>

== 与 mybatis、mybatis-plus、jpa、hibernate 比较:

  1. sql 写在 markdown 文件里,写起来舒服,便于阅读
  2. 无需 resultType resultMap 复杂指定 (mybatis xml 啰嗦的配置),只需定义方法名
  3. 不允许查询 sql 放到 @Select 和 @Query 上,jpa 复杂,sql 不容易书写还乱(虽然也能实现),保持 mybatis 风格写在文件里,统一管理,便于维护
  4. 无缓存。缓存很容易,但更新是个难题,大多使用 mybatis 的公司都不会开启一级、二级缓存。使用不当容易引起脏读,不如使用 SpringCache 等上层方案,自己控制
  5. 不会像 jpa 根据方法名生成 sql (需要你学习思考,复杂点名字老长,不透明)
  6. 无 hibernate 条件构造器 (EntityWrapper,Criteria Query) 查询就该是 sql。配合动态 sql 能力,减少学习成本
  7. 由于markdown 文件表述能力,无法像 mybatis 那样使用 resultMap 可以关联结果集映射。我推荐的是如果没有复杂逻辑,多表 join 返回映射一个新的实体可直接透传到视图层 VO。或者自己代码里拼接,麻烦点但可控
  8. 比较大多是无的功能,但细想这些都不是必须的甚至鸡肋,老老实实简单简单做个纯粹的 ORM 框架

> 使用步骤基本同 jpa

 1. 添加依赖 2. @EnableMybatisMini 3. extends BaseRepository<UserBaseDO, Long> 或 extends BaseQueryRepository(只查询) 4. 使用例子demo项目 spring-data-mybatis-mini-demo
原文链接:https://www.oschina.net/news/115533/spring-data-mybatis-mini-2-2-2-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章