Mybatis Common Mapper - Easy to use
Class.getDeclaredFields()
返回的元素的不确定顺序引起的问题 by @SaaiVenkat in https://github.com/abel533/Mapper/pull/896
Full Changelog: https://github.com/abel533/Mapper/compare/4.2.3...4.3.0
特别注意: 升级 mybatis generator 到 1.4.1,和 1.3.x 完全不兼容,如果使用 mbg,需要自己依赖的插件也用1.4.x版本
4.2.2 版本合并了最近几年的PR,关闭了几百个issues,github还剩余216,gitee还有18。剩余部分pr依赖jdk8。
4.2.x 版本在 2022 年末停止更新,后续会主要维护 4.3.x 版本,这个新版本会将 jdk 升级到 8,不在支持 jdk 6,7。
升级版本:
功能和修复:
感谢以下贡献者:
4.2.0 版本中缺少了 gitee 仓库中的两个合并请求,针对这部分代码,再次发布 4.2.1 版本。
orderByDesc
只有最后一个字段是倒序,改为所有参与orderby
的字段都倒序 Mr 轩少/V1.1.5-orderByDesc-fix@SuperBuilder、@NoArgsConstructor、@AllArgsConstructor
注解 tingwen 2020/12/26 18:29 8c816794本次更新最大改动就是统一了所有模块的版本,所有版本都升级为 4.2.0,在之前本项目一共有3个版本号,本次升级前后的版本如下:
本次更新是 2019年1月28日发布 4.1.5 之后的首次发布,此次更新的内容基本上都来自所有热心开发人员的PR,大部分PR都是功能增强或新功能。
WeekendSqls
or部分方法参数 String->Object taiyi* 2021/11/29 19:39 1aa5eff6EntityHelper.entityTableMap
被错误清空 glacier* 2020/4/1 18:29 8c57af04Example.Criteria
未设置 where
条件查询时,带有逻辑删除注解的表报错问题,fixed #722 jingkaihui* 2020/7/20 15:31 570ef154Weekend
对象增加excludeProperties、selectProperties、orderBy、withCountProperty
支持lambda表达式写属性名
使用withXXXXX的命名方式链式设置属性 wugh 2019/5/30 14:41 3e25bb9bgenerateDefaultInstanceMethod
参数,生成的实体类的defaultInstance
静态方式. 1.存在默认值为''::character varying问题 2.支持基本类型
wugh 2019/5/30 13:58 cf3e40aalombokEqualsAndHashCodeCallSuper
配置,当使用lombok扩展的EqualsAndHashCode
注解时,可通过此配置(true)为此注解添加“callSuper = true”
,这对于有继承父类的实体类,如增加支持动态表名时,有用。 calvinit 2019/2/14 13:52 ae901608通用 Mapper 每次大的版本,基本上都是底层上的大变化,在使用通用 Mapper 的过程中,有很多人遇到过配置的问题,因为底层实现的方式,所以无法避免配置,而且随着功能的增加,配置也增加了不少。
为了从根本上简化通用方法的实现,从2018年就开始思考如何让实现和MyBatis的兼容性更好,让实现变的更简单,为了从 MyBatis 根本解决问题,给官方提过好几个 PR,在 2019年3月份给 MyBatis 提交的 pr#1391 合并后(对应 3.5.1 版本,最低要求版本),终于能以更简单的方式来实现通用 Mapper 了。
由于此次变动太大,因此不打算对 通用Mapper4 进行任何改动,从头实现了一个新的项目,名字仍然没有新意的使用了 mybatis-mapper
,这个项目也发布很久了,由于工作太忙,没精力像以前那样频繁更新, 所以一直没推广新版
mybatis-mapper,如果你动手能力强,喜欢看源码,你也可以试试这个项目:
另外,通用 Mapper 中的大量 PR 都是增加的新方法和代码生成器相关的注解,这些和核心无关,因此 mybaits-mapper 会提供独立的项目接收所有新增的通用方法, 和代码生成器相关的 lombok 注解完全不需要了,使用新版本中提供的代码生成器可以更方便的进行定制。
简化Example的xml逻辑,解决由于and,or位置错误导致Example使用空条件时的错误,完善测试
对应 mapper-starter 版本为 1.1.3
Example
增加复杂的 and
和 or
功能。Example
增加排除查询字段的方法 excludeProperties
(selectProperties
优先级更高) #261.SqlHelper
中复杂的 if
改为 choose
方式。@Column
配置关键字的分隔符时,无法得到该列值的bug。