mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-08 09:38:26 +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) {
|
default long selectCountByQuery(QueryWrapper queryWrapper) {
|
||||||
List<QueryColumn> selectColumns = CPI.getSelectColumns(queryWrapper);
|
List<QueryColumn> selectColumns = CPI.getSelectColumns(queryWrapper);
|
||||||
if (CollectionUtil.isEmpty(selectColumns)) {
|
try {
|
||||||
queryWrapper.select(count());
|
if (CollectionUtil.isEmpty(selectColumns)) {
|
||||||
}
|
queryWrapper.select(count());
|
||||||
List<Object> objects = selectObjectListByQuery(queryWrapper);
|
}
|
||||||
Object object = objects == null || objects.isEmpty() ? null : objects.get(0);
|
List<Object> objects = selectObjectListByQuery(queryWrapper);
|
||||||
if (object == null) {
|
Object object = objects == null || objects.isEmpty() ? null : objects.get(0);
|
||||||
return 0;
|
if (object == null) {
|
||||||
} else if (object instanceof Number) {
|
return 0;
|
||||||
return ((Number) object).longValue();
|
} else if (object instanceof Number) {
|
||||||
} else {
|
return ((Number) object).longValue();
|
||||||
throw FlexExceptions.wrap("selectCountByQuery error, Can not get number value for queryWrapper: %s", queryWrapper);
|
} 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