mybatis-flex/changes.txt
2023-05-15 18:35:08 +08:00

350 lines
17 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

mybatis-flex v1.2.4 20230515:
新增Db.updateBatch() 方法,用于批量修改或者插入等场景
新增:通过雪花算法生成数据库主键,内置雪花算法,感谢 @王帅
新增QueryCondition 可以直接传入枚举变量,自动读取 @EnumValue
新增:代码生成器添加 Service、ServiceImpl、Controller 的生成功能,感谢 @王帅
新增Db 和 BaseMapper 添加 selectObject 和 selectObjectList 等方法
新增BaseMapper 添加 selectOneByQueryAs 等方法,方便在 left join 等场景直接转换为 dto vo 等;
优化:不变属性添加 final 关键字,感谢 @庄佳彬
优化修改拼写错误processer->processor 感谢 @庄佳彬
优化Page.of() 方法
优化:为 IService.java 添加常用的方法
优化:修改 SqlUtil.retBool 为 SqlUtil.toBool
修复orderBy 参数里传入 null 或者 空值,就会抛出异常的问题 #23
文档:优化 mybatis-flex.com 的目录结构
文档:新增内置主键生成器说明文档,感谢 @王帅
文档:修正数据脱敏中的一些描述错误
文档IService 文档添加代码示例
文档:优化 "部分字段更新" 的相关文档
文档:更新代码生成器的相关文档,感谢 @王帅
文档:添加关于 BaseMapper 进行关联查询的相关文档
文档:添加在 Spring 的场景下使用 @Transactional 注解的注意事项
mybatis-flex v1.2.3 20230511:
新增MaskManager 添加 withoutMask 模板方法,感谢 @pengpeng
新增TenantManager 添加 withoutTenantCondition 模板方法,感谢 @pengpeng
新增:代码生成器添加 GlobalConfig.others 属性,方便自定义 generator 的配置
修复v1.2.2 使用 @Transactional 出现的 Can't call commit 的问题 #I71X6X
文档:纠正错别字 "事物" 为 "事务"
文档:更新代码生成器的相关文档
mybatis-flex v1.2.2 20230510:
新增:增强 Service 及其实现类,感谢 @王帅
修复where子句无任何符合的条件时逻辑删除字段处理错误 #I70OIA
修复:在使用事务的情况下,无法切换数据源的问题 #I70QWU
修复Entity 有配置 typeHandler 时,通过 RowUtil.toEntity 转换异常的问题 #I70XGX
文档:代码生成器添加生成其他产物的相关文档
文档:新增顶级 Service 接口说明文档,感谢 @王帅
文档:常见问题添加关于 PageHelper 集成的相关文档
mybatis-flex v1.2.1 20230506:
新增:代码生成器添加 tableDef 的生成功能;感谢 @笨小孩
新增:增指定批次批量删除的方法,防止请求时间过长异常;感谢 @笨小孩
优化Mapper 配置所对应的 XML 文件 增加默认值;感谢 @lhzsdnu
优化拆分APT模块, 优化APT配置说明感谢 @snow
优化:添加 ClassUtil.isArray 方法用于重构
优化:重命名 UpdateEntity.wrap 为 UpdateEntity.of #I6Z7HK
优化:重构 OracleDialect 默认不加双引号;感谢 @MyronLi
优化:重构代码生成器模块,新增 IGenerator 接口
优化:修改 BaseMapper 的一些注释错误
修复Oracle 下查询报错的问题 #I6Z7K4
修复insertSelective 报错的问题 #12
修复:全局监听器父类注册是接口时无法触发监听器 #17
修复:因 @NotBlank(message = "xxx") 到 QueryColumn 无法生成的问题 #I6ZPD1
修复:不支持自己扩展 mapper 的问题 #I6ZTS3
修复Db + Row 工具的使用枚举映射异常问题 #I6ZW2G
修复:批量新增逻辑删除字段有问题 #I6ZX5N
修复left join (select ...) 子查询参数解析错误 #I709S1
mybatis-flex v1.2.0 20230426:
新增FlexGlobalConfig.setDefaultConfig 方法,使其扩展更加灵活,用于适配 solon
新增BaseMapper.insertBatch(entities,size) 方法,自定义分批插入;感谢 @庄佳彬
新增Entity 的监听器可以配置为父类 BaseEntity 的支持
新增Apt 添加自定义 字段名命名风格 的支持 #I6YGRG
修复processor.tablesClassName 配置不起作用的问题;感谢 @玩具猫
修复left join 关联查询 on 有第二个条件赋值错误的问题; #I6YT2R
修复:审计日志中赋值异常的问题 #I6Z1R8
修复:修复 createIdKeyGenerator 对 keyType.None 判断错误的问题
优化:修改 @Table 注解,删除其 @Inherited
文档:重构文档结构、使之更加清晰;感谢 @snow
文档:同步新版本 apt 功能文档
mybatis-flex v1.1.9 20230424:
新增:根据 id 查询数据时,返回默认字段而非全部字段;感谢 @wnp
新增APT 添加忽略 entity 后缀的配置支持
修复where 中第一个括号处理不正确的问题 #I6XXWR
修复:批量插入且配置 onInsert 时,出现错误的问题
修复:批量插入 row且为 row 设置主键时,出错的问题 #I6Y8ZU
修复Oracle 在某些情况下出现 SQLSyntaxErrorException 错误的问题 #I6Y6MZ
修复RowUtil.printPretty 在某些情况下显示数据不正确的问题
修复APT 无法生成 @NotBlank 注解字段的问题
优化:更新 apt 的 mappersGenerateEnable 默认值为 false
文档:优化 APT 的相关文档
文档:优化 快速开始 的相关文档
文档:添加 column 全局配置的相关文档
mybatis-flex v1.1.8 20230422:
新增:添加 RowUtil.printPretty() 方法,用于调试
新增:代码生成器生成代码默认添加注释的功能
新增:添加 BaseEntity.insertSelective() 方法 #I6XS9Z
修复:子查询时,逻辑删除字段的未添加逻辑删除字段 #I6X4U8
修复TransactionTemplate.execute 失效的问题 #I6XSHH
修复:"EXIST" 关键字错误的问题 #I6XTVB
优化Row 添加列序号的功能,数据库返回结果相同列不再覆盖
文档:添加 使用 Mybatis 原生功能的相关文档
文档:添加 支持的数据库类型 的相关文档
文档Db + Row 添加 left join 转换 entity 的文档
文档:优化 快速开始 的相关文档
文档APT 文档添加关于 Gradle 构建的一些内容
mybatis-flex v1.1.7 20230421:
优化:将 ConsoleMessageCollector 的 getFullSql 方法移入 AuditMessage方便重用 感谢 @pengpeng
修复:配置 mybatis-flex.mapper-locations 在某些场景下会出现 NPE 的问题 #I6X59V
修复:子查询时,子 SQL 的逻辑删除字段未添加 #I6X4U8
修复:启用乐观锁 和 逻辑删除时,在某些极端情况下会出现 argument type mismatch 异常的问题 感谢 @pengpeng
文档APT 添加和 Lombok、Mapstruct 整合的文档
文档:完善补充 "打印SQL" 的相关文档
mybatis-flex v1.1.6 20230419:
新增QueryCondition 添加 when(Predicate) 方法,感谢 @落羽er
新增:代码生成器 ColumnConfig 添加 tenantId 字段配置,用于代码生成时添加 @Column(tenantId=true) 注解,感谢 @pengpeng
新增:代码生成器 TableConfig 添加 mapperGenerateEnable 配置,感谢 @pengpeng
新增:代码生成器添加 IDialect.MYSQL 方言
优化FlexEnumTypeHandler.java 完善对 public field 的读取
优化:代码生成器生成 java 文件时,打印生成目录
修复flex 和 lombok 以及 mapstruct 同时使用时APT 配置文件不生效的问题。 #I6WTN6
修复:使用 QueryMethods.count() 时出错的问题。#I6X2M6
文档:修改 SQL 审计模块的文档错误,感谢 @lhzsdnu
mybatis-flex v1.1.5 20230418:
新增:增加对 @Table 自动生成 Mapper 的控制属性 mapperGenerateEnable。感谢 @草语
新增QueryCondition 自动忽略 null 值的功能 #I6WCS9
新增:增加 APT Mapper 自动生成时,可通过 mybatis-flex.properties 自定义父类的支持。感谢 @草语
新增:代码生成添加自定义 BaseMapper 的支持
优化:重构移除 RowSessionManager
优化:重命名 DbAutoConfiguration 为 FlexTransactionAutoConfiguration
优化:优化 FlexEnumTypeHandler 未找到 getter 方法时的错误提示
优化:优化自定义逻辑删除内容可能存在错误的一些问题
修复:在某些场景下,动态条件时,生成的 SQL 错误 #I6W89G
修复:在某些情况下,枚举属性出现异常的问题 #I6WGSA
文档:优化事务相关的文档
文档:添加枚举属性的相关文档
文档:修改 SQL 打印的文档错误
文档APT 添加关于关闭 mapper 生成的文档
文档queryWrapper 添加特别注意事项的内容
mybatis-flex v1.1.4 20230417:
新增:添加逻辑删除的自定义内容配置功能
新增Entity 添加枚举属性的支持
新增BaseMapper 新增 insertOrUpdate() 方法
新增:事务添加 Propagation 参数配置的支持
新增:为 Spring 适配 @Transactional 注解的支持
修复租户模式下deleteBatchByIds 报错的问题
修复ProviderUtil NPE 的问题
修复APT 和 TableInfo 构建多出静态变量的问题
文档:完善逻辑删除的相关文档
文档:修改 ignoreNulls 描述错误的问题
mybatis-flex v1.1.3 20230414:
新增:代码生成器生成的 entity 可以支持配置父类和实现的接口
修复:在某些场景下出现 Recursive update 错误的问题
修复Entity 继承父类,但是 APT 生成的代码没有父类字段的问题
修复QueryWrapper unionAll 报错的问题
修复:修复多租户的场景下 union 的子查询不添加租户 ID 的问题
mybatis-flex v1.1.2 20230413:
新增QueryCondition 的 and(string) 和 or(string) 方法
新增Page.map() 方法用于 Page 数据转换
新增SQL 审计新增数据返回行数和自定义业务ID的支持
新增Row 新增 Row.toObject() 方法,用于转换为 VO 对象
新增RowUtil.java 工具类,用于 Row List 数据转换
新增:代码生成器添加配置 Mapper 前后缀配置的功能
新增:代码生成器添加配置 entity 前后缀配置的功能
优化:重构 MultiDataSourceAutoConfiguration.java
优化:重命名 Page.list 为 Page.records
优化:当配置了错误的数据库账号和密码,错误提示不友好的问题
优化:重命名 "MessageCreator" 为 "MessageFactory"
优化:重命名 RawValue.context 为 content
修复ClassUtil 无法实例化被 lombok @Data() 修饰的 entity 的问题
修复MybatisKeyGeneratorUtil.java 空指针的问题
修复Springboot3 NestedIOException 找不到的问题
修复QueryCondition 的值为 QueryColumn 或 RawValue 时错处的问题
修复:在某些场景下可能出现 Recursive update 的问题
文档:新增 Mybatis-Flex 和其他框架性能对比的文档
文档:添加整合 Springboot3 可能出现的问题帮助
mybatis-flex v1.1.0 20230412:
新增Entity 的 onSet、onUpdate、onInsert 添加全局监听器的配置
优化:移除 QueryColumn.isNull 和 isNotNull 的参数
优化:重构 CustomKeyGenerator 的部分代码
修复UpdateEntity 工具类在某些场景下出错的问题
修复:审计消息 AuditMessage 在 entity 配置 typeHandler 时,获取的参数不正确的问题
文档:添加 entity 全局监听器的相关文档
mybatis-flex v1.0.9 20230410:
新增:新增 多租户 使用的相关模块
新增BaseMapper 添加 deleteByCondition 和 updateByCondition 方法
新增:添加 paginate 的更简单易用的相关方法
新增QueryMethods 添加 column() 方法
新增ConsoleMessageCollector 用于在控制台输出 SQL 及其执行时间
新增QueryWrapper 添加 union 和 union all 的支持
新增mybatis-flex-solon-plugin 插件,方便在 solon 框架下使用
修复:@Table(onSet) 配置在某些场景无法使用的问题
修复Postgresql 的 limit offset 方言出错的问题
修复:多数据源的场景下,通过 @Table(dataSource) 配置无效的问题
优化:修改错别字 processer 为 processor
优化:优化 DbAutoConfiguration 未正确配置数据源时的错误信息
优化Row 添加 getString()/getInt() 等等相关方法
优化:代码生成器通过 SqlServer 生成出错的问题
文档:优化 QueryWrapper 的相关文档
文档:优化 SQL 审计的相关文档
文档:添加 SQL 控制台打印输出的相关文档
文档:添加多租户的相关文档
文档:优化逻辑删除的相关文档
mybatis-flex v1.0.7 20230406:
新增BaseMapper 添加可以直接根据 Condition 查询的方法,更加方便
新增Db 添加可以直接根据 Condition 查询的方法,更加方便
新增:代码生成器添加 @Table(onSet) 的配置
新增:添加 HttpMessageReporter用于可以往服务器发送审计日志
优化APT 生成的 java 属性默认使用下划线的方式
优化:优化 APT 生成 mapper 的默认存放路径
优化:重命名 QueryEntityProcesser 为 QueryEntityProcessor
文档:添加字段权限的相关文档
文档:添加字典回写的相关文档
文档:添加字段加密的相关文档
文档:添加 Mybatis-Flex 与同类框架对比的文档
mybatis-flex v1.0.6 20230403:
新增:新增多数据源的支持
新增Db.tx() 的事务提交方法
新增RawValue 类,用于一些不需要进行 Sql 编译的场景
新增:@Table() 注解,添加 onSet 配置,用于监听 entity 被设置内容
新增:添加独创的 FlexIDKeyGenerator ID 生成器,用于分布式 ID 生成
优化:重命名 TableInfos 为 TableInfoFactory
优化:重命名审计日志的 "extTime" 为 "queryTime"
修复AuditManager 在某些场景下会出现空指针的问题
文档:添加多数据源的相关文档
文档:添加事务管理的相关文档
文档:添加与 Spring 整合的相关文档
文档:优化 Db + Row 的相关文档
文档QueryWrapper 添加关于 join 的更多示例
文档:添加关于 APT 使用的相关文档
文档:优化 readme 和 快速开始的相关文档
mybatis-flex v1.0.5 20230330:
新增:新增 SQL 审计模块,默认关闭
新增:代码生成器新增 lombok 配置的支持
新增:代码生成器新增可以配置多个表前缀的支持
新增:代码生成器添加 SqliteDialect 方言的支持
新增:代码生成器添加自定义 Entity 属性类型的配置支持
优化:修改方法 "deleteByByMap" 为 "deleteByMap"
优化:修改方法 "Db.insertRow()" 为 "Db.insert()"
修复在某些场景下Row.toEntity() 出现类型转换错误的问题
修复queryWrapper 的 "in" 逻辑在某些场景下错误的问题
修复:代码生成器对 Mysql 的 "blob" 类型生成错误的问题
文档:新增关于代码生成器的相关文档
文档:新增 SQL 审计模块的相关文档
文档:优化 queryWrapper 的相关文档
文档:优化 分页查询 的相关文档
mybatis-flex v1.0.4 20230326:
新增:@ColumnMask() 注解用于数据脱敏,内置 9 中脱敏方式
新增BaseMapper.selectAll() 方法
新增BaseMapper.selectListByMap(Map whereConditions, int count) 方法
新增:添加 resource 配置,使得生成的代码自动集成到 classpath 中。 感谢 @piggsoft
新增mybatis-flex-codegen 模块,用于 数据库-> Java 的代码生成
新增:@Table() 注解添加 OnInsert 和 OnUpdate 的配置支持
文档:新文档站点 https://mybatis-flex.com 上线
mybatis-flex v1.0.3 20230321:
新增APT 自动生成 Mapper 代码的功能,无需在手动编写
新增APT 新增 "processer.mappersGenerateEnable" 配置,用于开启是否自动生成 Mapper 类
修复condition.when(flag) 的 value 值有返回的问题
文档:添加 where 动态条件文档示例,同步 APT 的文档
mybatis-flex v1.0.2 20230317:
新增:添加自定义字段 typeHandler @Column(typeHandler=xxx) 的配置
新增:内置默认的 fastjson fastjson2 gson jackson 的 TypeHandler方便开发者直接使用
增强entity 查询支持通过 QueryWrapper 传入表名以实现更灵活的需求
优化:对方言 CommonsDialectImpl.forInsertEntity 添加字段 wrap
优化:重构 TableInfo 的方法名,使其更加明确
优化:代码生成和 columns 构建支持更多默认的数据类型
优化:优化源码的中文注释描述
文档:优化 maven 依赖相关描述
mybatis-flex v1.0.0 20230312:
主要对 beta 和 rc 版本进行大量的重构和测试
mybatis-flex v1.0.0-rc.1 20230306:
优化:对 RowSqlProvider.java 的一些方法名进行重构
优化QueryEntityProcesser 添加对 DEFAULT_COLUMNS 属性的生成
优化RowKey.java 移除其 set 方法
优化Entity 数据在被插入时,会自动设置逻辑删除的默认值
优化:添加主键生成的全局配置,可以不用为每个 Entity 单独配置主键内容
文档:添加 "逻辑删除" 的相关文档
文档:添加 "乐观锁" 的相关文档
文档:添加 entity 插入和更新的默认值设置的文档
文档:添加 OrderBy 的 QueryWrapper 示例
mybatis-flex v1.0.0-beta.2 20230303:
优化当只查询一张表时SQL生成的字段不添加表前缀
优化:完善对 @Column(onUpdateValue=xxx,onInsertValue=xxx) 的支持
优化:完善对 @Column(version = true) 的支持
优化:重命名 BaseMapper 的 insertBatchWithFirstEntityColumns 为 insertBatch
优化:重命名 DialectFactory 的 createDialectByDbType 为 createDialect
优化:为逻辑删除的默认值功能添加常量
修复createDialectByDbType 方法中pg库的 KeywordWrap 错误
文档:优化文档
mybatis-flex v1.0.0-beta.1:
init mybatis-flex