Commit 25d8efbe authored by 雍欢's avatar 雍欢

如果RowSetUtil.toList方法的参数cls是Map类型,自动给查询结果绑定上字典TextView

parent f6179b25
...@@ -59,7 +59,16 @@ public final class RowSetUtil { ...@@ -59,7 +59,16 @@ public final class RowSetUtil {
while (rs.next()) { while (rs.next()) {
Object obj = cls.newInstance(); Object obj = cls.newInstance();
for (int i = 0; i < iCol; i++) { for (int i = 0; i < iCol; i++) {
ClassHelper.setProperty(obj, propertyNameArr[i], rs.getObject(i + 1)); String key = propertyNameArr[i];
Object value = rs.getObject(i + 1);
ClassHelper.setProperty(obj, key, value);
if (obj instanceof Map) {
Map<String, Object> map = (Map<String, Object>) obj;
String textView = DictUtil.getDictionaryDetailText(key, value);
if (textView != null) {
map.put(key + "TextView", textView);
}
}
} }
result.add((T) obj); result.add((T) obj);
} }
...@@ -241,8 +250,7 @@ public final class RowSetUtil { ...@@ -241,8 +250,7 @@ public final class RowSetUtil {
/** /**
* 结果集装换对象数组列表 * 结果集装换对象数组列表
* *
* @param rs * @param rs 结果集
* 结果集
* @return * @return
*/ */
public static List<Object[]> toArrayList(SqlRowSet rs) { public static List<Object[]> toArrayList(SqlRowSet rs) {
...@@ -262,8 +270,7 @@ public final class RowSetUtil { ...@@ -262,8 +270,7 @@ public final class RowSetUtil {
/** /**
* 数据集转换为对象数组 * 数据集转换为对象数组
* *
* @param rs * @param rs 数据集
* 数据集
* @return * @return
*/ */
public static Object[] toArray(SqlRowSet rs) { public static Object[] toArray(SqlRowSet rs) {
......
...@@ -35,14 +35,15 @@ final class SelectSqlInvokeStrategy extends ObtainSqlInvokeStrategy { ...@@ -35,14 +35,15 @@ final class SelectSqlInvokeStrategy extends ObtainSqlInvokeStrategy {
// 无查询参数 // 无查询参数
if (Collection.class.isAssignableFrom(returnType)) { if (Collection.class.isAssignableFrom(returnType)) {
return sqlExecutor.queryToList(sql, resultType.value()); return sqlExecutor.queryToList(sql, resultType.value());
} } else if (Map.class.isAssignableFrom(returnType)) {
if (Map.class.isAssignableFrom(returnType)) {
return sqlExecutor.queryToMap(sql); return sqlExecutor.queryToMap(sql);
} else {
if (resultType != null) {
return sqlExecutor.queryOneToObject(sql, resultType.value());
} else {
return Map.class.isAssignableFrom(returnType) ? sqlExecutor.queryToMap(sql) : sqlExecutor.queryOneToObject(sql, returnType);
}
} }
return resultType != null
? sqlExecutor.queryOneToObject(sql, resultType.value())
: sqlExecutor.queryOneToObject(sql, returnType);
} }
if (args.length == 1) { if (args.length == 1) {
if (args[0] instanceof Map) { if (args[0] instanceof Map) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment