mybatis-plus使用IPage分页

1、pom文件

<dependency><groupId>mysqlgroupId><artifactId>mysql-connector-javaartifactId><scope>runtimescope>
dependency>
<dependency><groupId>com.baomidougroupId><artifactId>mybatis-plus-boot-starterartifactId><version>3.1.1version>
dependency>
<dependency><groupId>org.apache.shardingspheregroupId><artifactId>sharding-jdbc-spring-boot-starterartifactId><version>4.1.1version>
dependency>

2、分页查询

2.1、方式1 - 通过 BaseMapper 的 page 方法

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.tryonce.page.PageParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;public class AppBookInfoServiceImpl extends ServiceImpl<AppBookInfoMapper, AppBookInfo> implements AppBookInfoService {@Overridepublic IPage<AppBookInfo> getPage(PageParam<AppBookInfoQuery> pageParam) {Page<AppBookInfo> platformPage = new Page<>(pageParam.getCurrent(), pageParam.getPageSize());QueryWrapper<AppBookInfo> qw = new QueryWrapper<>();AppBookInfoQuery appBookInfoQuery = pageParam.getCondition();if (null != appBookInfoQuery) {if (null != appBookInfoQuery.getId()) {qw.eq("id", appBookInfoQuery.getId());}}qw.orderByAsc("book_order");return this.page(platformPage, qw);}}

2.2、方式2 - 通过自定义sql

mapper

public interface TestMapper extends BaseMapper<Test> {@Select("select * from test where user_code = #{userCode} ")IPage<Test> selectPage(@Param("page") Page page, @Param("userCode") String userCode);}

service

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.tryonce.entity.Test;
import com.tryonce.mapper.TestMapper;
import com.tryonce.page.PageParam;
import com.tryonce.service.TestService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;import javax.annotation.Resource;@Slf4j
@Service
public class TestServiceImpl extends ServiceImpl<TestMapper, Test> implements TestService {@Resourceprivate TestMapper testMapper;@Overridepublic IPage<Test> getPage(PageParam<Test> pageParam) {Page<Test> platformPage = new Page<>(pageParam.getCurrent(), pageParam.getPageSize());testMapper.selectPage(platformPage, pageParam.getCondition().getUserCode());return platformPage;}}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部