diff --git a/changes.txt b/changes.txt index 83dcf8df..df010e13 100644 --- a/changes.txt +++ b/changes.txt @@ -1,3 +1,18 @@ +mybatis-flex v1.2.9 20230523: +新增:字段添加对 Byte.class 类型的支持 #I76GNW +修复:"select * ,(select ...) from ..." 第二个 select 有参数时出错的问题 +修复:QueryCondition 在 left join 查询是出现 NPE 的问题 +修复:修改 QueryWrapper 添加 limit(1) 时,SQLServer 方言构建 SQL 出错的问题 +修复:修改 TDENGINE 方言出错的问题 +修复:baseMapper.selectOneByQueryAs() 查询出错的问题 +修复:当自定义 TypeHandler 时,通过 UpdateEntity 更新时,TypeHandler 无效的问题 +优化:重构 TableInfo.appendConditions() 代码 +优化:修改错别字 "那些" 为 "哪些" +文档:更新 "Mybatis" 为 "MyBatis" #I72DWO +文档:添加使用 druid-spring-boot-starter 出错到常见问题里 + + + mybatis-flex v1.2.8 20230522: 新增:新增 select id,(select...) from 的支持 优化:Solon 插件增加 RowMapperInvoker 注入和 FlexGlobalConfig 可事件扩展的支持,感谢 @西东 diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableInfo.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableInfo.java index 30161835..a10b9ddc 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableInfo.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableInfo.java @@ -456,8 +456,7 @@ public class TableInfo { continue; } - Object value = getPropertyValue(metaObject, property); - + Object value = buildColumnSqlArg(metaObject, column); // ModifyAttrsRecord 忽略 ignoreNulls 的设置, // 当使用 ModifyAttrsRecord 时,可以理解为要对字段进行 null 值进行更新,否则没必要使用 ModifyAttrsRecord // if (ignoreNulls && value == null) { @@ -673,9 +672,11 @@ public class TableInfo { ColumnInfo columnInfo = columnInfoMapping.get(column); Object value = getPropertyValue(metaObject, columnInfo.property); - TypeHandler typeHandler = columnInfo.buildTypeHandler(); - if (value != null && typeHandler != null) { - return new TypeHandlerObject(typeHandler, value, columnInfo.getJdbcType()); + if (value != null) { + TypeHandler typeHandler = columnInfo.buildTypeHandler(); + if (typeHandler != null) { + return new TypeHandlerObject(typeHandler, value, columnInfo.getJdbcType()); + } } return value; diff --git a/mybatis-flex-core/src/test/java/com/mybatisflex/coretest/AccountSqlTester.java b/mybatis-flex-core/src/test/java/com/mybatisflex/coretest/AccountSqlTester.java index 49510c09..45a4d4f7 100644 --- a/mybatis-flex-core/src/test/java/com/mybatisflex/coretest/AccountSqlTester.java +++ b/mybatis-flex-core/src/test/java/com/mybatisflex/coretest/AccountSqlTester.java @@ -311,9 +311,9 @@ public class AccountSqlTester { String sql2 = dialect2.buildSelectSql(queryWrapper); System.out.println(sql2); - IDialect dialect3 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.DB2); - String sql3 = dialect3.buildSelectSql(queryWrapper); - System.out.println(sql3); +// IDialect dialect3 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.DB2); +// String sql3 = dialect3.buildSelectSql(queryWrapper); +// System.out.println(sql3); IDialect dialect4 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.POSTGRESQL); String sql4 = dialect4.buildSelectSql(queryWrapper);