Skip to content

Releases: abel533/Mapper

5.0.1

04 Nov 05:04
Compare
Choose a tag to compare

此版本和 5.0.0 会因为上述参数不兼容,上面 自动处理 Mapper 接口中其他手写指定 resultType 的返回结果类型为 resultMap 是 5.0 版本增加的一个功能,由于对低版本4.x存在兼容性问题,因此在5.0.1改正了这个问题。

和 5.0.0 相比,5.0.1启用后也只会修改通过 resultType 设置返回值的情况,如果本身指定了 resultMap,就不会再覆盖手工设置的值。

Full Changelog: 5.0.0...5.0.1

5.0.0 发布

20 Aug 15:30
Compare
Choose a tag to compare
  • 基于 jdk17 和 spring boot 3.3 开发
  • JPA 依赖改为 jakarta.persistence-api
  • mybatis-spring 重新适配,兼容原有配置
  • mybatis-spring-boot-starter 重新适配,兼容原有配置和逻辑

特别说明

mybatis.basePackages 是 tk.mapper 中特有的配置(4.x就有的),当通过这个配置指定 Mapper 所在包后,不会再指定扫描 @Mapper 注解的接口。会扫描指定包下面所有的接口(会排除 @RegisterMapper 注解标记的通用接口)。

4.3.0

06 Apr 03:35
Compare
Choose a tag to compare

What's Changed

  • 解决Mapper父接口的泛型信息在使用泛型的场景下报ClassCastException的问题,fixed #886 by @samyge in #887
  • 添加了对solon的插件支持 by @trifolium-x in #914
  • 一个Mapper中支持多个不同类型的provider by @YuanHao97 in #908
  • WeekendSqlsUtils新增select方法;generator新增配置,强制不生成注解 by @erengong in #901
  • 修复了Class.getDeclaredFields()返回的元素的不确定顺序引起的问题 by @SaaiVenkat in #896
  • 为@LogicDelete注解提供两个字段用于处理希望null作为逻辑删除的标记的能力。表示以null作为删除/未删除记录的标识 by @getError in #894

New Contributors

Full Changelog: 4.2.3...4.3.0

4.2.3 发布

03 Jun 02:06
Compare
Choose a tag to compare

4.2.3 - 2023-06-03

  • UpsertMapper 添加@RegisterMapper注解,fixed #878
  • 解决ColumnType注解的限制问题,fixed #883
  • fix:替代Optional方法和lambda表达式,兼容jdk1.6使用环境 by kesyou1991
  • feat:新增mapper bean懒加载功能 by kesyou1991

4.2.2

16 Oct 16:10
Compare
Choose a tag to compare

4.2.2 - 2022-10-16

特别注意: 升级 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。

升级版本:

  • 完善pom配置,不在使用旧的mybatis-parent,所有配置都包含在当前项目中
  • 升级 mybatis generator 到 1.4.1,和 1.3.x 完全不兼容
  • 升级 mybatis 为 3.5.11
  • align mybatis-spring to 1.3.2 in all modules huangkaifeng
  • 升级 hsqldb 为 2.5.2
  • 升级 jps 依赖,使用 2.2 (GAV全变了)

功能和修复:

  • 生成model时自动添加逻辑删除字段注解 rse
  • 兼容 mybatis generator 1.4 rse
  • 通用Mapper接口,保存(save). 判断主键是否存在, 如果存在且不为空执行update语句,如果主键不存在或为空, 执行insert语句 yangb
  • 对获取到的所有字段进行去重 wendell
  • Add unit tests for tk.mybatis.mapper.util.StringUtil Eric Hettiaratchi
  • 添加WeekendSqls的工具类,提供一系列静态方法,减少泛型参数的指定,使代码更简洁、清晰 linweichao
  • 修改了SelectByPrimaryKeyMapper的注释 祁玉
  • fix:使用Example.buidler创建Example时使用orderBy报NullPointerException korov9
  • Use HTTPS instead of HTTP to resolve dependencies
  • 增加 virtual 关键字, fixed #272
  • 所有 class.getCanonicalName 改为 class.getName fixed gitee#I1B8KL
  • fix:修复WeekendSql下or操作value为String问题 Nonlone
  • pr#711 修订批量插入,支持设置逻辑删除默认值;扩展支持批量更新;支持PostgreSQL UPSERT语句 ZhaoPengfei
  • 修改 test 中的 log4j 为 logback

感谢以下贡献者:

4.2.1 - 2022-2-27

10 Oct 12:38
Compare
Choose a tag to compare

4.2.1 - 2022-2-27

4.2.0 版本中缺少了 gitee 仓库中的两个合并请求,针对这部分代码,再次发布 4.2.1 版本。

  • orderByDesc只有最后一个字段是倒序,改为所有参与orderby的字段都倒序 Mr 轩少/V1.1.5-orderByDesc-fix
  • 增加Lombok 的@SuperBuilder、@NoArgsConstructor、@AllArgsConstructor 注解 tingwen 2020/12/26 18:29 8c81679

4.2.0 - 2022-2-26

本次更新最大改动就是统一了所有模块的版本,所有版本都升级为 4.2.0,在之前本项目一共有3个版本号,本次升级前后的版本如下:

  • mapper, mapper-all, mapper-all-dependencies 从 4.1.5 升级为 4.2.0
  • mapper-core, mapper-base, mapper-extra, mapper-generator, mapper-spring, mapper-weekend 从 1.1.5 升级为 4.2.0
  • mapper-spring-boot-starter 相关模块从 2.1.5 升级为 4.2.0

本次更新是 2019年1月28日发布 4.1.5 之后的首次发布,此次更新的内容基本上都来自所有热心开发人员的PR,大部分PR都是功能增强或新功能。

  • WeekendSqls or部分方法参数 String->Object taiyi* 2021/11/29 19:39 1aa5eff
  • 改进对null的查询 改进对空集合的查询 改进对like的查询 Cheng.Wei* 2020/3/19 0:24 1523d57
  • 改进查询对null值的处理策略 Cheng.Wei* 2020/3/19 0:07 afb6ffc
  • Update FieldHelper.java kong-ly* 2020/3/17 16:06 4a5675d
  • 修复一个错误,该错误可能导致 EntityHelper.entityTableMap 被错误清空 glacier* 2020/4/1 18:29 8c57af0
  • 扩展一些根据属性及条件值删除的通用方法 jingkaihui* 2020/7/20 17:25 3bf2e1a
  • 修复 Example.Criteria 未设置 where 条件查询时,带有逻辑删除注解的表报错问题,fixed #722 jingkaihui* 2020/7/20 15:31 570ef15
  • 修改生成的getter方法注释中@return 列名为@return 属性名 wanglei* 2018/1/24 11:04 b08258b
  • 更新地址 https://mybatis.io abel533 2020/7/27 21:52 ba417dc
  • 扩展一些根据属性及条件值查询的通用方法 jingkaihui* 2019/10/19 22:14 bd10103
  • 添加日志输出异常和警告信息,fixed #IXNLU isea533 2019/6/18 22:03 1764748
  • 合并 pr #17 isea533 2019/5/30 21:53 8d7819e
  • [新增] Weekend对象增加excludeProperties、selectProperties、orderBy、withCountProperty 支持lambda表达式写属性名
    使用withXXXXX的命名方式链式设置属性 wugh 2019/5/30 14:41 3e25bb9
  • [bug修复] 修复generateDefaultInstanceMethod参数,生成的实体类的defaultInstance静态方式. 1.存在默认值为''::character varying问题 2.支持基本类型
    wugh 2019/5/30 13:58 cf3e40a
  • [新增] 生成实体类的时候,使用表注释创建类的注释 wugh 2019/5/30 11:28 b4acbf4
  • 增加lombokEqualsAndHashCodeCallSuper配置,当使用lombok扩展的EqualsAndHashCode注解时,可通过此配置(true)为此注解添加“callSuper = true”
    ,这对于有继承父类的实体类,如增加支持动态表名时,有用。 calvinit 2019/2/14 13:52 ae90160

还会有 MyBatis 通用 Mapper5 吗?

通用 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
注解完全不需要了,使用新版本中提供的代码生成器可以更方便的进行定制。

通用 Mapper 3.4.2 发布

18 Jul 13:18
Compare
Choose a tag to compare
  • 简化Example的xml逻辑,解决由于and,or位置错误导致Example使用空条件时的错误,完善测试

  • 对应 mapper-starter 版本为 1.1.3

通用 Mapper 3.4.1 发布

17 Jul 12:19
Compare
Choose a tag to compare

3.4.1 - 2017-07-17

  • Example 增加复杂的 andor 功能。
  • Example 增加排除查询字段的方法 excludeProperties(selectProperties优先级更高) #261.
  • SqlHelper 中复杂的 if 改为 choose 方式。
  • 解决通过@Column配置关键字的分隔符时,无法得到该列值的bug。