From 973a9d1591fc8128790a590ae13f535aa07c3a26 Mon Sep 17 00:00:00 2001 From: wujia <qimujia@163.com> Date: Thu, 17 Aug 2023 14:20:04 +0800 Subject: [PATCH] 查询数据行数时才将BigDecimal转为Integer,查询列表数据时不转换 --- gjjs-bd-mybatis-support/src/main/java/com/brilliance/mda/support/mybatis/MyBatisDaoSession.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gjjs-bd-mybatis-support/src/main/java/com/brilliance/mda/support/mybatis/MyBatisDaoSession.java b/gjjs-bd-mybatis-support/src/main/java/com/brilliance/mda/support/mybatis/MyBatisDaoSession.java index 74c343b..58a3418 100644 --- a/gjjs-bd-mybatis-support/src/main/java/com/brilliance/mda/support/mybatis/MyBatisDaoSession.java +++ b/gjjs-bd-mybatis-support/src/main/java/com/brilliance/mda/support/mybatis/MyBatisDaoSession.java @@ -474,9 +474,13 @@ public class MyBatisDaoSession extends AbstractDaoSession implements IDaoSession for (int i = 0; i < result.size(); i++) { Map<String, Object> map1 = result.get(i); Set<Map.Entry<String, Object>> entries = map1.entrySet(); - for (Map.Entry<String, Object> entry : entries) { - if (entry.getValue() instanceof BigDecimal) { - entry.setValue(((BigDecimal) entry.getValue()).intValue()); + //结果集只有1列数据,切查询语句中包含COUNT 函数名,则判断SQL为查询数据行数 + //将结果集值类型从BigDecimal 转换为Integer + if (entries.size() == 1 && sql.toUpperCase().contains("COUNT")){ + for (Map.Entry<String, Object> entry : entries) { + if (entry.getValue() instanceof BigDecimal) { + entry.setValue(((BigDecimal) entry.getValue()).intValue()); + } } } } -- libgit2 0.26.0