mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-07 00:58:24 +08:00
v1.4.7 release (^.^)YYa!!
This commit is contained in:
parent
55f424e31e
commit
21fd37bf0b
@ -843,6 +843,11 @@ public interface BaseMapper<T> {
|
||||
return paginate(page, queryWrapper);
|
||||
}
|
||||
|
||||
default Page<T> paginateWithRelations(int pageNumber, int pageSize, QueryWrapper queryWrapper) {
|
||||
Page<T> page = new Page<>(pageNumber, pageSize);
|
||||
return paginateWithRelations(page, queryWrapper);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据条件分页查询
|
||||
@ -857,6 +862,11 @@ public interface BaseMapper<T> {
|
||||
return paginate(page, new QueryWrapper().where(condition));
|
||||
}
|
||||
|
||||
default Page<T> paginateWithRelations(int pageNumber, int pageSize, QueryCondition condition) {
|
||||
Page<T> page = new Page<>(pageNumber, pageSize);
|
||||
return paginateWithRelations(page, new QueryWrapper().where(condition));
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
@ -871,6 +881,11 @@ public interface BaseMapper<T> {
|
||||
return paginate(page, queryWrapper);
|
||||
}
|
||||
|
||||
default Page<T> paginateWithRelations(int pageNumber, int pageSize, int totalRow, QueryWrapper queryWrapper) {
|
||||
Page<T> page = new Page<>(pageNumber, pageSize, totalRow);
|
||||
return paginateWithRelations(page, queryWrapper);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据条件分页查询
|
||||
@ -890,6 +905,15 @@ public interface BaseMapper<T> {
|
||||
}
|
||||
|
||||
|
||||
default Page<T> paginateWithRelations(int pageNumber, int pageSize, int totalRow, QueryCondition condition) {
|
||||
if (condition == null) {
|
||||
throw FlexExceptions.wrap("condition can not be null.");
|
||||
}
|
||||
Page<T> page = new Page<>(pageNumber, pageSize, totalRow);
|
||||
return paginateWithRelations(page, new QueryWrapper().where(condition));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
@ -902,8 +926,21 @@ public interface BaseMapper<T> {
|
||||
return paginateAs(page, queryWrapper, null, consumers);
|
||||
}
|
||||
|
||||
default Page<T> paginateWithRelations(Page<T> page, QueryWrapper queryWrapper, Consumer<FieldQueryBuilder<T>>... consumers) {
|
||||
return doPaginate(page, queryWrapper, null, true, consumers);
|
||||
}
|
||||
|
||||
|
||||
default <R> Page<R> paginateAs(Page<R> page, QueryWrapper queryWrapper, Class<R> asType, Consumer<FieldQueryBuilder<R>>... consumers) {
|
||||
return doPaginate(page, queryWrapper, asType, false, consumers);
|
||||
}
|
||||
|
||||
default <R> Page<R> paginateWithRelationsAs(Page<R> page, QueryWrapper queryWrapper, Class<R> asType, Consumer<FieldQueryBuilder<R>>... consumers) {
|
||||
return doPaginate(page, queryWrapper, asType, true, consumers);
|
||||
}
|
||||
|
||||
|
||||
default <R> Page<R> doPaginate(Page<R> page, QueryWrapper queryWrapper, Class<R> asType, boolean withRelations, Consumer<FieldQueryBuilder<R>>... consumers) {
|
||||
try {
|
||||
// 只有 totalRow 小于 0 的时候才会去查询总量
|
||||
// 这样方便用户做总数缓存,而非每次都要去查询总量
|
||||
@ -930,6 +967,11 @@ public interface BaseMapper<T> {
|
||||
} else {
|
||||
records = (List<R>) selectListByQuery(queryWrapper);
|
||||
}
|
||||
|
||||
if (withRelations) {
|
||||
MapperUtil.queryRelations(this, records);
|
||||
}
|
||||
|
||||
MapperUtil.queryFields(this, records, consumers);
|
||||
page.setRecords(records);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user