mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-07 09:08:24 +08:00
fix: 用户 QueryWrapper 返回 null 值时,不进行属性查询。
This commit is contained in:
parent
9fc8cf7976
commit
07aaaf353c
@ -39,13 +39,25 @@ public class FieldQueryManager {
|
|||||||
|
|
||||||
public static void queryFields(BaseMapper<?> mapper, Collection<?> entities, Map<String, FieldQuery> fieldQueryMap) {
|
public static void queryFields(BaseMapper<?> mapper, Collection<?> entities, Map<String, FieldQuery> fieldQueryMap) {
|
||||||
for (Object entity : entities) {
|
for (Object entity : entities) {
|
||||||
|
|
||||||
|
if (entity == null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
fieldQueryMap.forEach((key, fieldQuery) -> {
|
fieldQueryMap.forEach((key, fieldQuery) -> {
|
||||||
//不是当前类的内容
|
// 不是当前类的内容
|
||||||
if (!key.startsWith(entity.getClass().getName() + "#")) {
|
if (!key.startsWith(entity.getClass().getName() + "#")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
QueryWrapper queryWrapper = fieldQuery.getQueryBuilder().build(entity);
|
QueryWrapper queryWrapper = fieldQuery.getQueryBuilder().build(entity);
|
||||||
|
|
||||||
|
// QueryWrapper 为 null 值时,不进行属性查询
|
||||||
|
if (queryWrapper == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Class<?> filedType = fieldQuery.getFieldWrapper().getFieldType();
|
Class<?> filedType = fieldQuery.getFieldWrapper().getFieldType();
|
||||||
Object value;
|
Object value;
|
||||||
|
|
||||||
@ -73,9 +85,7 @@ public class FieldQueryManager {
|
|||||||
Class<?> componentType = filedType.getComponentType();
|
Class<?> componentType = filedType.getComponentType();
|
||||||
List<?> objects = mapper.selectListByQueryAs(queryWrapper, componentType);
|
List<?> objects = mapper.selectListByQueryAs(queryWrapper, componentType);
|
||||||
value = getArrayValue(componentType, objects);
|
value = getArrayValue(componentType, objects);
|
||||||
}
|
} else {
|
||||||
// 实体类
|
|
||||||
else {
|
|
||||||
value = mapper.selectOneByQueryAs(queryWrapper, filedType);
|
value = mapper.selectOneByQueryAs(queryWrapper, filedType);
|
||||||
// 循环查询嵌套类
|
// 循环查询嵌套类
|
||||||
if (!fieldQuery.isPrevent()) {
|
if (!fieldQuery.isPrevent()) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user