更新日志
1.10.5-M2 - 2026-06-10
- 1:修复插入数据时,未拼上@Table的schema的问题
- 2:增加局部某个表leftJoin禁止优化的功能
- 3:其他优化
1.10.3 - 2026-05-27
- 1:@Fetch fetchFilter强制调用开关
- 2:数据库识别支持p6spy jdbc url格式
- 3:其他优化 表名/schema 支持动态设置(非分表行为)
- 4:crud支持自己创建的lambda getter方法引用例如:
.eq(EntityLambdaUtil.createSetter(SysUser.class, "id"), 1) - 5:修复单列Fetch数据库为null时运行异常的问题
- 6:增加nested方法来替代orNested和andNested
- 7:增加where方法平替and or 动态方法
- 8:新增getValueById(获取单列值)方法
- 9:QueryChain 增加 mapGroupWithKey 分组功能
1.10.2 - 2026-04-29
- 1:实现@Fetch,支持生效条件
- 2:in/notIn 单条时,变成eq/ne 行为
- 3:其他优化
1.10.1 - 2026-04-27
- 1: 优化@Fetch功能代码
- 2:实现@Fetch更多合并的功能场景(从2层到1层转变,减少VO创建)
- 3:@Fetch注解增加逻辑删除策略(支持忽略逻辑删除)
1.10.0 - 2026-04-18
- 1:修复主动调用了fetchFilter/fetchEnable时,可能出现报错的问题(未使用fetchFilter/fetchEnable的不影响)
1.9.9 - 2026-04-13
- 1:增加 partialUpdate 精准(局部)修改方法
- 2:原生updateBatch修改增加null/默认值忽略设置方法
- 3:LambdaUtil类增加setter/getter Lambda生成方法
- 4:@ResultCalcField注解支持数据库函数
- 5:修复exists/notExists中子查询嵌套子查询时,别名一致导致无法上下级引用的问题
- 6:增加join 子查询的简化写法
- 7:所有Mp开头的类 改为Xbatis开头
- 8:优化selectIgnore功能,不再要求先select
- 9:增加orderByAsc方法,减少从mybatis-plus迁移到xbatis的工作量
- 10:优化底层代码
- 11:增加resultmap官方动态映射继承
- 12:所有查询完美兼容pageHelper
- 13:对于顶级类的字段增加列为为字段名的resultMap映射
- 14:支持多列in-notIn操作
- 15:@Fetch支持合并查询(从2层到1层转变,减少VO创建)
1.9.8 - 2026-03-03
- 1:枚举接口优化,增加 isEqCode/isNotEqCode以及EnumUtil工具类
- 2:修复多个主键原生批量修改异常问题
- 3:修复在spring初始化bean是无法使用mapper的问题
- 4:@ModelEntityField 增加 强制修改的开关属性
- 5:自动化设置单mapper,简化单mapper
- 6: 修复单mapper下updateBatch方法强制指定修改字段的问题
1.9.7 - 2026-01-20
- 1:VO字段注解支持set方法注解覆盖
- 2:数据库适配优化,支持自定义DbType
- 3:getById 增加 Optional 获取的对应方法 getOptionalById
- 4:QueryChain 增加 Optional方法,对应的是get方法
- 5:增加uuidv7 主键生成器
1.9.6 - 2026-01-05
- 1:@ResultCalcField增加特殊字符处理
- 2:@Condition/@OrderBy/@PutEnumValue/@PutValue/@ResultCalcField/@ResultEntityField storey属性默认值从1改为-1; -1 时 ,如果相同的实体类,则继承上层的 storey值,否则默认为1;
需要特别注意:如果你代码注解中有storey配置,需要重新审核关系的变更带来问题;如果没有则可以无缝升级到1.9.6版本;这也是为什么1.9.6这么快发版的原因
1.9.5 - 2026-01-01
- 1:增加数据库类型解析器
- 2:@Fetch支持多值列字段的fetch能力;例如你的列数据是
1,2,3存储的 - 3:增加多值类型的TypeHandle:MultiValueTypeHandler
- 4:增加@Fetch缓存能力
- 5:OPEN_GAUSS 改名为 GAUSS;统一 gaussdb 和 opengauss,合并为GAUSS叫法
- 6:优化部分底层代码
- 7:增加日志路径设置功能
- 8:简化@TableId的命名
1.9.3 - 2025-12-07
- 1:@Fetch注解在内存分页基础上增加内存排序
- 2:修复and(XXX::getX,c->c.in or c.not(list)错误问题
- 3:@Fetch注解支持缓存能力
- 4:update delete 增加exists notExists 多条件方法
- 5:优化in子查询,实现简洁优雅的写法
- 6:支持springboot4
1.9.2 - 2025-11-13
- 1:@TableField注解增加exists是否表列字段
- 2:优化分表,支持更多方法(支持非表字段进行表分隔)
- 3:mapper.select selectList原生sql查询方法 支持pagehelper
- 4:修复乐观不自增问题
- 5:完善文档,让AI更好的搜索和接入xbatis
- 6:@TableField注解增加neverUpdate是否永不修改的字段
- 7:增加乐观锁异常
- 8:完善强制修改功能
1.9.1 - 2025-10-22
- 1:修复对象转条件多表条件配置报异常问题
- 2:优化exists条件方法,更优雅
- 3:增加对象动态排序
- 4:修复oracle-batchSave原生批量会去重的问题
- 5:兼容PageHelper支持配合xbatis-lambda分页
- 6:新增mapWithKeyAndValue方法
- 7:统一查询结果为空时的List Map为可修改的List和Map
- 8:修改@Conditions注解逻辑默认为OR
- 9:注解@Fetch 增加memoryLimit,采用内存limit前几条
- 10:新增cross join支持
- 11:动态默认值增加强制设置配置
- 12:增加Mapper支持原生update批量修改支持
- 13: @ResultField注解支持多列名映射
- 14:SQL模板支持,特殊字符包裹(解决单引号的问题)
- 15:其他优化,增加更多条件开关方法
- 16:支持PG distinct on(xxx) 排重功能
- 17:支持表、列名全部大小写设置
- 18:Mapper方法拦截器支持官方自带方法拦截
- 19:对象转条件增加NOT/NULL 空/非空的功能
- 20:增加计算字段注解ResultCalcField,用于自动select计算字段,例如count,sum等等计算字段
- 21:优化原生SQL操作,支持动态where拼接
- 22:增加日期年月时分秒增减方法
- 23:增加启动时安全检查功能,针对@ResultEnity @ConditionTarget @OrderByTarget等非实体类的检测
- 24:其他优化
1.9.0 - 2025-08-15
- 1:支持kotlin
- 2:微量优化
1.8.9 - 2025-07-13
- 1:增加插入监听器 @OnInsert
- 2:增加更新监听器 @OnUpdate
- 3:增强复杂mybatis resultMap类的兼容性
- 4:增强xml分页
- 5:增加对象转条件(支持关键字多列or查询)
- 6:增强内嵌exists、notExists方法
1.8.8 - 2025-06-06
- 1:优化默认值,对同一类减少重复调用
- 2:优化分页,支持limit(-1)进行忽略分页
- 3:优化UpdateChain.set;支持.set(SysUser::getVersion, c -> c.plus(1))
- 4:优化@Fetch,已增强,无法配置groupby、forceUseIn(已去除)
- 5:增强@Fetch,支持中间表
1.8.7 - 2025-05-21
- 1:修复使用forSearch后,IN/NOT IN 依然无法忽略空数组 空集合问题
- 2:改进exists subquery,自动继承父query的forSearch能力
- 3: 优化getByIds,ids null/空时返回空集合
- 4:优化Fetch PutValue PutEnumValue source默认能力(自动获取当前作用域的实体)
- 5: 改进PutValue PutEnumValue,支持内嵌类字段上
- 6:优化类型转换支持,支持更丰富
1.8.6 - 2025-04-30
- 1:为了更好的JAVA+XML结合,query和where增加tableAs(实体类,别名)方法,用于自定义表名别名
- 2:XbatisConfig 改为 XbatisGlobalConfig
- 3:增加逻辑删除拦截器
- 4:update delete 增加 原生 RETURNING(原生)功能
- 5:增加原生sql查询方法和update delete RETURNING功能
- 6:增加了一个Mapper方法拦截器
- 7:增加exists/not exists简易写法
1.8.5 - 2025-04-03
- 1:增加 (对象自动转条件)
- 2:代码生成器生成@Builder时补充@AllArgsConstructor
- 3:多租户支持多个租户ID
- 4:丰富对象转条件,支持2层嵌套条件;增加条件默认值功能
- 5:支持结果自行通过resultSet 设值到vo类中
- 6:修复启动时,清理resultMap,导致xml原生多层resultMap报错的问题
1.8.3 - 2025-03-11
- 1:扩展@Fetch,增加额外条件
- 2:增加类上忽略注解@Ignores
- 3:代码生成器增加实体类后缀配置
- 4:spring-boot-starter增加mapper-location 默认路径 /mapper/
- 5:消除多数据源可能出现的warning提示
- 6:增加SubQuery支持as能力
1.8.2 - 2025-02-19
- 1:banner更新(xbatis)
1.8.1 - 2025-02-18
- 1:增加 xml + 动态query 功能
- 2:修复lambda getter特殊字段 例如xType,识别成 XType字段的问题
- 3:mybatis-mp 改名为xbatis (基本只要把mybatis.mp包改成xbatis即可)
1.8.0 - 2025-02-12
- 1:
@Fetch注解增加生效开关 - 2:
@Fetch注解增加null值时默认值填充 - 3:xml自动分页报错修复
- 4:条件类增加as能力,用于select结构中
- 5:增加 or and 动态构建条件的方法
1.7.9 - 2024-01-19
- 1:调整了update(实体类) 多租户、逻辑删除的条件顺序,id条件放在前面
- 2:增加了join/innerJoin/leftJoin/rightJoin方法:
.innerJoin(SysUser::getRoleId, SysRole::getId) - 3:增加数据库groupConcat函数方法
- 4:适配sqlite数据库
- 5:适配openGauss数据库
- 6:代码生成器增加字段字段名类Fields生成(用于vo/Fetch等注解中引用)
- 7:修复in/notIn使用Set参数报错问题
- 8:增加新增/批量新增忽略重复时忽略或者修改的功能
- 9:兼容低版本oracle和sqlserver数据库
- 10:调整默认值函数,增加实体类参数
- 11:修复between when 未前置判断问题
- 12:修复@ResultEntityField(storey=2)时,异常问题
- 13:优化join,增加了join/innerJoin/leftJoin/rightJoin方法:
.innerJoin(SysUser::getRoleId, SysRole::getId,on->on.eq(xxx,1) - 14:增加数据库分表功能
- 15:增加了ST_Contains/ST_DWithin/ST_Distance等 GIS操作
1.7.8 - 2024-12-19
- 1:优化withQuery
- 2:优化page分页参数,可完全定制page类
- 3:update增加
set(Getter<T> field, V value, UpdateStrategy updateStrategy)根据update策略对参数进行忽略或NULL或异常 - 4:优化逻辑初始值:save时,优先使用逻辑删除注解里的默认值
- 5:join语句把逻辑删除的条件从where放到on中
- 6:增加原生sql update delete insert操作
- 7:增加truncate方法
- 8:优化逻辑删除和多租户
- 9:代码生成器dao不在默认使用Dao最为父类接口,默认为无,有需要的需要自己设置父类
- 10:增加 innerJoin/leftJoin/rightJoin方法,方便调用
1.7.7 - 2024-12-07
- 1:修复多主键实体类Mapper.saveBatch报错问题
- 2:修复mapper.exists(where->where.eq(xxx,1))报错问题
- 3:完整支持单个Mapper完成所有业务的功能(请看单Mapper模式一文)
- 4:支持 timeout、fetchSize等配置
1.7.6 - 2024-11-26
- 1:增加了很多通用的方法,例如listAll,cursorAll,save(全量),update(全量),listAll,countAll,listByIds方法
- 2:优化了Mapper,细分了很多Mapper
- 3:@PutValue加入了session缓存
- 4:@CreatedEvent加入了session缓存的扩展
- 5:修复代码生成器多主键时,deleteById getById等参数类型没有import的问题
- 6:修复DaoImpl里map方法id没有使用的问题
- 7:修复from(SubQuery)sql异常问题
- 8:saveBatch/saveModelBatch实现ID回填
- 9:dao增加通用方法,其他优化等
- 10:支持xml+Where类,实现动态where sql
- 11:增加order函数,方便按指定顺序排序
1.7.5 - 2024-11-06
- 1:代码生成器maven插件版本:1.0.6
- 2:代码生成器1.0.2兼容数据库bit类型默认值
- 3:代码生成器1.0.2增加java注释开关
- 4:代码生成器1.0.2对于空注释不再生成swagger内容
- 5:修复内嵌andNested,orNested条件空条件生成sql and() or()的问题
- 6:优化@Fetch,增加groupBy、forceUseIn功能
- 7:新增save update 全量保存或修改的操作方法
- 8:Model增加saveOrUpdate方法
- 9:Mapper增加deleteAll方法
- 10:加强对boolean类型转换的检测
1.7.3 - 2024-11-04
- 1:兼容实体类与基类有重名情况
- 2:UpdateChain.set(列Getter1,列Getter2)方法
- 3:增加@PutEnumValue @PutValue @CreatedEvent注解,用于对结果VO进行干预
- 4:query增加onRowEvent(监听Consumer),returnType(返回类,监听Consumer)方法,用于对结果的监听
- 5:支持实体类、VO 字段泛型的最终类型推导
1.7.2 - 2024-10-24
- 1:代码生成器 修复默认值缺少 " 问题
- 2:代码生成器兼容 表/列备注 带有换行符问题
1.7.1 - 2024-10-23
- 1:InsertChain,UpdateChain 增加 null 值为 SQL NULL 处理
- 2:InsertChain.field方法改为fields
- 3:修复windows下代码生成器因路径问题报错
1.7.0 - 2024-10-20
- 1:新增maven生成代码插件
- 2:简化maven依赖
- 3:优化代码生成器
- 4:多数据源增加对父接口默认方法的支持
- 5:增强@Fetch,在父类无字段映射仍可正常处理
1.6.9 - 2024-09-30
- 1:select as 功能增强
- 2:修复mybatis xml生成报错
- 3:优化代码生成器
- 4:各个数据库适配优化
- 5:mysql 函数整理
- 6:增加 lombok @Builder @ToString 支持
1.6.8 - 2024-09-20
- 1:增加 delete update insert sql builder 管理
- 2:增强@Fetch 支持深度 fetchFilter
1.6.7 - 2024-09-06
- 1:优化代码生成器
- 2:增强Fetch注解(实现可动态select)
- 3:优化底层代码
- 4:修复多个不同数据库无法识别db类型的问题
- 5:修复insert select 在ORACLE环境异常问题
- 6:InsertChain增加新insert select方法
1.6.6 - 2024-08-22
- 1: 优化SQL优化开关
- 2:优化mapper.dbAdapt方法
- 3:优化底层代码
1.6.5 - 2024-08-16
- 1:消除并发下ID自增器警告
1.6.3 - 2024-08-13
- 1:优化deleteByIds(List ids)泛型问题
1.6.2 - 2024-08-08
- 1:selectWithFun 改为 select 简写方法
- 2:orderByWithFun 改为 orderBy 简写方法
- 3:groupByWithFun 改为 groupBy 简写方法
- 4:修复批量saveBatch 在非事务下出现 connection close 异常
- 5:规范底层类设计
- -:此版本对以往版本xxWithFun功能不兼容,在此说声抱歉,前期设计的不很合理!
1.6.1 - 2024-08-06
- 1:优化生成器
- 2:生成器修复DaoImpl实现类部分错误
- 3:生成器增强多主键,实现mapper daoImpl 类自动增加多主键查询和删除
- 4:GetterColumnField改名为GetterField
1.6.0 - 2024-07-28
- 1:减少生成器maven依赖
- 2:增加多主键兼容
- 3:query增加 fetchFilter ,增强@Fetch 动态条件过滤
- 4:优化returnType(class) select(class),简化为returnType(class)
