内容简介:github地址:https://github.com/VonChange/spring-data-mybatis-mini gitee 地址:https://gitee.com/vonchange/spring-data-mybatis-mini 更新日志 支持 LocalDateTime LocalDate LocalTime jdk8 的日期格式 更...
- github地址:https://github.com/VonChange/spring-data-mybatis-mini
- gitee 地址:https://gitee.com/vonchange/spring-data-mybatis-mini
更新日志
- 支持 LocalDateTime LocalDate LocalTime jdk8 的日期格式
- 更改 jsqlparser 依赖,避免依赖冲突
- 简化动态 sql 方式,改为自定义的 ognl,提高性能,统一写法
特性
- 抛弃繁琐的 xml,只使用 mybatis 模版引擎即动态 sql 能力,sql 写在 markdown 文件里,便于书写和阅读
- 底层 jdbc 使用 spring jdbc
- 简化 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 比较:
- sql 写在 markdown 文件里,写起来舒服,便于阅读
- 无需 resultType resultMap 复杂指定 (mybatis xml 啰嗦的配置),只需定义方法名
- 不允许查询 sql 放到 @Select 和 @Query 上,jpa 复杂,sql 不容易书写还乱(虽然也能实现),保持 mybatis 风格写在文件里,统一管理,便于维护
- 无缓存。缓存很容易,但更新是个难题,大多使用 mybatis 的公司都不会开启一级、二级缓存。使用不当容易引起脏读,不如使用 SpringCache 等上层方案,自己控制
- 不会像 jpa 根据方法名生成 sql (需要你学习思考,复杂点名字老长,不透明)
- 无 hibernate 条件构造器 (EntityWrapper,Criteria Query) 查询就该是 sql。配合动态 sql 能力,减少学习成本
- 由于markdown 文件表述能力,无法像 mybatis 那样使用 resultMap 可以关联结果集映射。我推荐的是如果没有复杂逻辑,多表 join 返回映射一个新的实体可直接透传到视图层 VO。或者自己代码里拼接,麻烦点但可控
- 比较大多是无的功能,但细想这些都不是必须的甚至鸡肋,老老实实简单简单做个纯粹的 ORM 框架
> 使用步骤基本同 jpa
1. 添加依赖 2. @EnableMybatisMini 3. extends BaseRepository<UserBaseDO, Long> 或 extends BaseQueryRepository(只查询) 4. 使用例子demo项目 spring-data-mybatis-mini-demo
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- MyExcel 3.7.3 版本发布,漏洞修复&简化
- 手工编写简化版CommonsCollections6,带你实现Java8全版本反序列化利用
- Unity动态网格简化算法
- 对于css的简化属性
- 借助 Swift 的枚举来简化登录
- 用 Retrofit 2 简化 HTTP 请求
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。