优化分页的实现,与 MyBatis Plus 解耦

This commit is contained in:
YunaiV
2021-01-23 18:35:41 +08:00
parent 1ecbe5aa61
commit aa38c0f9d1
18 changed files with 59 additions and 114 deletions

View File

@@ -1,30 +1,29 @@
package cn.iocoder.dashboard.modules.system.dal.mysql.dao.dept;
import cn.iocoder.dashboard.common.pojo.PageResult;
import cn.iocoder.dashboard.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.dashboard.framework.mybatis.core.query.QueryWrapperX;
import cn.iocoder.dashboard.framework.mybatis.core.util.MyBatisUtils;
import cn.iocoder.dashboard.modules.system.controller.dept.vo.post.SysPostExportReqVO;
import cn.iocoder.dashboard.modules.system.controller.dept.vo.post.SysPostPageReqVO;
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dept.SysPostDO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper;
import java.util.Collection;
import java.util.List;
@Mapper
public interface SysPostMapper extends BaseMapper<SysPostDO> {
public interface SysPostMapper extends BaseMapperX<SysPostDO> {
default List<SysPostDO> selectList(Collection<Long> ids, Collection<Integer> statuses) {
return selectList(new QueryWrapperX<SysPostDO>().inIfPresent("id", ids)
.inIfPresent("status", statuses));
}
default IPage<SysPostDO> selectList(SysPostPageReqVO reqVO) {
return selectPage(MyBatisUtils.buildPage(reqVO),
new QueryWrapperX<SysPostDO>().likeIfPresent("name", reqVO.getName())
.eqIfPresent("status", reqVO.getStatus()));
default PageResult<SysPostDO> selectPage(SysPostPageReqVO reqVO) {
return selectPage(reqVO, new QueryWrapperX<SysPostDO>()
.likeIfPresent("name", reqVO.getName())
.eqIfPresent("status", reqVO.getStatus()));
}
default List<SysPostDO> selectList(SysPostExportReqVO reqVO) {

View File

@@ -1,22 +1,19 @@
package cn.iocoder.dashboard.modules.system.dal.mysql.dao.dict;
import cn.iocoder.dashboard.common.pojo.PageResult;
import cn.iocoder.dashboard.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.dashboard.framework.mybatis.core.query.QueryWrapperX;
import cn.iocoder.dashboard.framework.mybatis.core.util.MyBatisUtils;
import cn.iocoder.dashboard.modules.system.controller.dict.vo.data.SysDictDataExportReqVO;
import cn.iocoder.dashboard.modules.system.controller.dict.vo.data.SysDictDataPageReqVO;
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dict.SysDictDataDO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper;
import java.util.Date;
import java.util.List;
import static com.baomidou.mybatisplus.core.metadata.OrderItem.asc;
@Mapper
public interface SysDictDataMapper extends BaseMapper<SysDictDataDO> {
public interface SysDictDataMapper extends BaseMapperX<SysDictDataDO> {
default SysDictDataDO selectByLabel(String label) {
return selectOne(new QueryWrapper<SysDictDataDO>().eq("label", label));
@@ -26,12 +23,12 @@ public interface SysDictDataMapper extends BaseMapper<SysDictDataDO> {
return selectCount(new QueryWrapper<SysDictDataDO>().eq("dict_type", dictType));
}
default IPage<SysDictDataDO> selectList(SysDictDataPageReqVO reqVO) {
return selectPage(MyBatisUtils.buildPage(reqVO),
new QueryWrapperX<SysDictDataDO>().likeIfPresent("label", reqVO.getLabel())
.likeIfPresent("dict_type", reqVO.getDictType())
.eqIfPresent("status", reqVO.getStatus()))
.addOrder(asc("dict_type"), asc("sort"));
default PageResult<SysDictDataDO> selectPage(SysDictDataPageReqVO reqVO) {
return selectPage(reqVO, new QueryWrapperX<SysDictDataDO>()
.likeIfPresent("label", reqVO.getLabel())
.likeIfPresent("dict_type", reqVO.getDictType())
.eqIfPresent("status", reqVO.getStatus())
.orderByAsc("dict_type", "sort"));
}
default List<SysDictDataDO> selectList() {

View File

@@ -1,26 +1,25 @@
package cn.iocoder.dashboard.modules.system.dal.mysql.dao.dict;
import cn.iocoder.dashboard.common.pojo.PageResult;
import cn.iocoder.dashboard.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.dashboard.framework.mybatis.core.query.QueryWrapperX;
import cn.iocoder.dashboard.framework.mybatis.core.util.MyBatisUtils;
import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypeExportReqVO;
import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypePageReqVO;
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dict.SysDictTypeDO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface SysDictTypeMapper extends BaseMapper<SysDictTypeDO> {
public interface SysDictTypeMapper extends BaseMapperX<SysDictTypeDO> {
default IPage<SysDictTypeDO> selectList(SysDictTypePageReqVO reqVO) {
return selectPage(MyBatisUtils.buildPage(reqVO),
new QueryWrapperX<SysDictTypeDO>().likeIfPresent("name", reqVO.getName())
.likeIfPresent("dict_type", reqVO.getType())
.eqIfPresent("status", reqVO.getStatus())
.betweenIfPresent("create_time", reqVO.getBeginTime(), reqVO.getEndTime()));
default PageResult<SysDictTypeDO> selectPage(SysDictTypePageReqVO reqVO) {
return selectPage(reqVO, new QueryWrapperX<SysDictTypeDO>()
.likeIfPresent("name", reqVO.getName())
.likeIfPresent("dict_type", reqVO.getType())
.eqIfPresent("status", reqVO.getStatus())
.betweenIfPresent("create_time", reqVO.getBeginTime(), reqVO.getEndTime()));
}
default List<SysDictTypeDO> selectList(SysDictTypeExportReqVO reqVO) {

View File

@@ -1,20 +1,19 @@
package cn.iocoder.dashboard.modules.system.dal.mysql.dao.notice;
import cn.iocoder.dashboard.common.pojo.PageResult;
import cn.iocoder.dashboard.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.dashboard.framework.mybatis.core.query.QueryWrapperX;
import cn.iocoder.dashboard.framework.mybatis.core.util.MyBatisUtils;
import cn.iocoder.dashboard.modules.system.controller.notice.vo.SysNoticePageReqVO;
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.notice.SysNoticeDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface SysNoticeMapper extends BaseMapper<SysNoticeDO> {
public interface SysNoticeMapper extends BaseMapperX<SysNoticeDO> {
default IPage<SysNoticeDO> selectList(SysNoticePageReqVO reqVO) {
return selectPage(MyBatisUtils.buildPage(reqVO),
new QueryWrapperX<SysNoticeDO>().likeIfPresent("title", reqVO.getTitle())
.eqIfPresent("status", reqVO.getStatus()));
default PageResult<SysNoticeDO> selectPage(SysNoticePageReqVO reqVO) {
return selectPage(reqVO, new QueryWrapperX<SysNoticeDO>()
.likeIfPresent("title", reqVO.getTitle())
.eqIfPresent("status", reqVO.getStatus()));
}
}

View File

@@ -1,13 +1,12 @@
package cn.iocoder.dashboard.modules.system.dal.mysql.dao.permission;
import cn.iocoder.dashboard.common.pojo.PageResult;
import cn.iocoder.dashboard.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.dashboard.framework.mybatis.core.query.QueryWrapperX;
import cn.iocoder.dashboard.framework.mybatis.core.util.MyBatisUtils;
import cn.iocoder.dashboard.modules.system.controller.permission.vo.role.SysRoleExportReqVO;
import cn.iocoder.dashboard.modules.system.controller.permission.vo.role.SysRolePageReqVO;
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.permission.SysRoleDO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.lang.Nullable;
@@ -18,12 +17,11 @@ import java.util.List;
@Mapper
public interface SysRoleMapper extends BaseMapperX<SysRoleDO> {
default IPage<SysRoleDO> selectPage(SysRolePageReqVO reqVO) {
return selectPage(MyBatisUtils.buildPage(reqVO),
new QueryWrapperX<SysRoleDO>().likeIfPresent("name", reqVO.getName())
.likeIfPresent("code", reqVO.getCode())
.eqIfPresent("status", reqVO.getStatus())
.betweenIfPresent("create_time", reqVO.getBeginTime(), reqVO.getEndTime()));
default PageResult<SysRoleDO> selectPage(SysRolePageReqVO reqVO) {
return selectPage(reqVO, new QueryWrapperX<SysRoleDO>().likeIfPresent("name", reqVO.getName())
.likeIfPresent("code", reqVO.getCode())
.eqIfPresent("status", reqVO.getStatus())
.betweenIfPresent("create_time", reqVO.getBeginTime(), reqVO.getEndTime()));
}
default List<SysRoleDO> listRoles(SysRoleExportReqVO reqVO) {

View File

@@ -1,20 +1,19 @@
package cn.iocoder.dashboard.modules.system.dal.mysql.dao.user;
import cn.iocoder.dashboard.common.pojo.PageResult;
import cn.iocoder.dashboard.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.dashboard.framework.mybatis.core.query.QueryWrapperX;
import cn.iocoder.dashboard.framework.mybatis.core.util.MyBatisUtils;
import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserExportReqVO;
import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserPageReqVO;
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.user.SysUserDO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper;
import java.util.Collection;
import java.util.List;
@Mapper
public interface SysUserMapper extends BaseMapper<SysUserDO> {
public interface SysUserMapper extends BaseMapperX<SysUserDO> {
default SysUserDO selectByUsername(String username) {
return selectOne(new QueryWrapper<SysUserDO>().eq("username", username));
@@ -28,13 +27,13 @@ public interface SysUserMapper extends BaseMapper<SysUserDO> {
return selectOne(new QueryWrapper<SysUserDO>().eq("email", email));
}
default IPage<SysUserDO> selectList(SysUserPageReqVO reqVO, Collection<Long> deptIds) {
return selectPage(MyBatisUtils.buildPage(reqVO),
new QueryWrapperX<SysUserDO>().likeIfPresent("username", reqVO.getUsername())
.likeIfPresent("mobile", reqVO.getMobile())
.eqIfPresent("status", reqVO.getStatus())
.betweenIfPresent("create_time", reqVO.getBeginTime(), reqVO.getEndTime())
.inIfPresent("dept_id", deptIds));
default PageResult<SysUserDO> selectPage(SysUserPageReqVO reqVO, Collection<Long> deptIds) {
return selectPage(reqVO, new QueryWrapperX<SysUserDO>()
.likeIfPresent("username", reqVO.getUsername())
.likeIfPresent("mobile", reqVO.getMobile())
.eqIfPresent("status", reqVO.getStatus())
.betweenIfPresent("create_time", reqVO.getBeginTime(), reqVO.getEndTime())
.inIfPresent("dept_id", deptIds));
}
default List<SysUserDO> selectList(SysUserExportReqVO reqVO, Collection<Long> deptIds) {