mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-07 17:18:24 +08:00
fixed: 修复 QueryWrapper 不能使用超过一次; github close #49
This commit is contained in:
parent
19ca5f9373
commit
4b1ddae7bd
@ -542,17 +542,22 @@ public interface BaseMapper<T> {
|
||||
*/
|
||||
default long selectCountByQuery(QueryWrapper queryWrapper) {
|
||||
List<QueryColumn> selectColumns = CPI.getSelectColumns(queryWrapper);
|
||||
if (CollectionUtil.isEmpty(selectColumns)) {
|
||||
queryWrapper.select(count());
|
||||
}
|
||||
List<Object> objects = selectObjectListByQuery(queryWrapper);
|
||||
Object object = objects == null || objects.isEmpty() ? null : objects.get(0);
|
||||
if (object == null) {
|
||||
return 0;
|
||||
} else if (object instanceof Number) {
|
||||
return ((Number) object).longValue();
|
||||
} else {
|
||||
throw FlexExceptions.wrap("selectCountByQuery error, Can not get number value for queryWrapper: %s", queryWrapper);
|
||||
try {
|
||||
if (CollectionUtil.isEmpty(selectColumns)) {
|
||||
queryWrapper.select(count());
|
||||
}
|
||||
List<Object> objects = selectObjectListByQuery(queryWrapper);
|
||||
Object object = objects == null || objects.isEmpty() ? null : objects.get(0);
|
||||
if (object == null) {
|
||||
return 0;
|
||||
} else if (object instanceof Number) {
|
||||
return ((Number) object).longValue();
|
||||
} else {
|
||||
throw FlexExceptions.wrap("selectCountByQuery error, Can not get number value for queryWrapper: %s", queryWrapper);
|
||||
}
|
||||
} finally {
|
||||
//fixed https://github.com/mybatis-flex/mybatis-flex/issues/49
|
||||
CPI.setSelectColumns(queryWrapper, selectColumns);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user