| | |
| | | package com.iailab.framework.mybatis.core.mapper; |
| | | |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.iailab.framework.common.pojo.PageParam; |
| | | import com.iailab.framework.common.pojo.PageResult; |
| | | import com.iailab.framework.common.pojo.SortablePageParam; |
| | |
| | | */ |
| | | public interface BaseMapperX<T> extends MPJBaseMapper<T> { |
| | | |
| | | /** |
| | | * 获取分页对象 |
| | | * @param params 分页查询参数 |
| | | */ |
| | | default IPage<T> getPage(PageParam params) { |
| | | //分页参数 |
| | | long curPage = 1; |
| | | long limit = 10; |
| | | |
| | | if(params.getPageNo() != null){ |
| | | curPage = params.getPageNo(); |
| | | } |
| | | if(params.getPageSize() != null){ |
| | | limit = params.getPageSize(); |
| | | } |
| | | |
| | | //分页对象 |
| | | return new Page<>(curPage, limit); |
| | | } |
| | | |
| | | default PageResult<T> selectPage(SortablePageParam pageParam, @Param("ew") Wrapper<T> queryWrapper) { |
| | | return selectPage(pageParam, pageParam.getSortingFields(), queryWrapper); |
| | | } |
| | |
| | | |
| | | default <D> PageResult<D> selectJoinPage(PageParam pageParam, Class<D> clazz, MPJLambdaWrapper<T> lambdaWrapper) { |
| | | // 特殊:不分页,直接查询全部 |
| | | if (PageParam.PAGE_SIZE_NONE.equals(pageParam.getPageNo())) { |
| | | if (PageParam.PAGE_SIZE_NONE.equals(pageParam.getPageSize())) { |
| | | List<D> list = selectJoinList(clazz, lambdaWrapper); |
| | | return new PageResult<>(list, (long) list.size()); |
| | | } |
| | |
| | | return Db.updateBatchById(entities, size); |
| | | } |
| | | |
| | | default Boolean insertOrUpdate(T entity) { |
| | | default boolean insertOrUpdate(T entity) { |
| | | return Db.saveOrUpdate(entity); |
| | | } |
| | | |