分页参数优化

This commit is contained in:
yulichang 2023-01-12 10:04:47 +08:00
parent b80b747e07
commit 3d33afc08d
3 changed files with 11 additions and 12 deletions

View File

@ -21,7 +21,7 @@ public interface MPJJoinMapper<T> extends BaseMapper<T> {
* *
* @param wrapper joinWrapper * @param wrapper joinWrapper
*/ */
Integer selectJoinCount(@Param(Constants.WRAPPER) MPJBaseJoin<T> wrapper); Long selectJoinCount(@Param(Constants.WRAPPER) MPJBaseJoin<T> wrapper);
/** /**
* 连表查询返回一条记录 * 连表查询返回一条记录
@ -62,7 +62,7 @@ public interface MPJJoinMapper<T> extends BaseMapper<T> {
* @param clazz resultType * @param clazz resultType
* @param <DTO> 分页返回对象 * @param <DTO> 分页返回对象
*/ */
<DTO, P extends IPage<?>> IPage<DTO> selectJoinPage(P page, <DTO, P extends IPage<DTO>> P selectJoinPage(P page,
@Param(Constant.CLAZZ) Class<DTO> clazz, @Param(Constant.CLAZZ) Class<DTO> clazz,
@Param(Constants.WRAPPER) MPJBaseJoin<T> wrapper); @Param(Constants.WRAPPER) MPJBaseJoin<T> wrapper);
@ -71,6 +71,6 @@ public interface MPJJoinMapper<T> extends BaseMapper<T> {
* *
* @param wrapper joinWrapper * @param wrapper joinWrapper
*/ */
<P extends IPage<?>> IPage<Map<String, Object>> selectJoinMapsPage(P page, <P extends IPage<Map<String, Object>>> P selectJoinMapsPage(P page,
@Param(Constants.WRAPPER) MPJBaseJoin<T> wrapper); @Param(Constants.WRAPPER) MPJBaseJoin<T> wrapper);
} }

View File

@ -18,7 +18,7 @@ public interface MPJJoinService<T> extends IService<T> {
/** /**
* 根据 Wrapper 条件查询总记录数 * 根据 Wrapper 条件查询总记录数
*/ */
default Integer selectJoinCount(MPJBaseJoin<T> wrapper) { default Long selectJoinCount(MPJBaseJoin<T> wrapper) {
return ((MPJBaseMapper<T>) getBaseMapper()).selectJoinCount(wrapper); return ((MPJBaseMapper<T>) getBaseMapper()).selectJoinCount(wrapper);
} }
@ -39,7 +39,7 @@ public interface MPJJoinService<T> extends IService<T> {
/** /**
* 连接查询返回集合并分页 * 连接查询返回集合并分页
*/ */
default <DTO, P extends IPage<?>> IPage<DTO> selectJoinListPage(P page, Class<DTO> clazz, MPJBaseJoin<T> wrapper) { default <DTO, P extends IPage<DTO>> P selectJoinListPage(P page, Class<DTO> clazz, MPJBaseJoin<T> wrapper) {
return ((MPJBaseMapper<T>) getBaseMapper()).selectJoinPage(page, clazz, wrapper); return ((MPJBaseMapper<T>) getBaseMapper()).selectJoinPage(page, clazz, wrapper);
} }
@ -60,8 +60,7 @@ public interface MPJJoinService<T> extends IService<T> {
/** /**
* 连接查询返回Map集合并分页 * 连接查询返回Map集合并分页
*/ */
default <P extends IPage<Map<String, Object>>> IPage<Map<String, Object>> selectJoinMapsPage( default <P extends IPage<Map<String, Object>>> P selectJoinMapsPage(P page, MPJBaseJoin<T> wrapper) {
P page, MPJBaseJoin<T> wrapper) {
return ((MPJBaseMapper<T>) getBaseMapper()).selectJoinMapsPage(page, wrapper); return ((MPJBaseMapper<T>) getBaseMapper()).selectJoinMapsPage(page, wrapper);
} }
} }

View File

@ -519,7 +519,7 @@ class LambdaWrapperTest {
*/ */
@Test @Test
void test1() { void test1() {
Page<Object> page = new Page<>(1, 10); Page<UserDTO> page = new Page<>(1, 10);
page.setSearchCount(false); page.setSearchCount(false);
IPage<UserDTO> iPage = userMapper.selectJoinPage(page, UserDTO.class, IPage<UserDTO> iPage = userMapper.selectJoinPage(page, UserDTO.class,
MPJWrappers.<UserDO>lambdaJoin() MPJWrappers.<UserDO>lambdaJoin()
@ -594,7 +594,7 @@ class LambdaWrapperTest {
.select(AddressDO.class, p -> true) .select(AddressDO.class, p -> true)
.leftJoin(AddressDO.class, AddressDO::getUserId, UserDO::getId) .leftJoin(AddressDO.class, AddressDO::getUserId, UserDO::getId)
.eq(UserDO::getId, 1); .eq(UserDO::getId, 1);
IPage<UserDTO> page = userMapper.selectJoinPage(new Page<>(1, 10), UserDTO.class, wrapper); Page<UserDTO> page = userMapper.selectJoinPage(new Page<>(1, 10), UserDTO.class, wrapper);
assert page.getRecords().get(0).getAddress() != null; assert page.getRecords().get(0).getAddress() != null;
page.getRecords().forEach(System.out::println); page.getRecords().forEach(System.out::println);
} }