一、Page方式
1、依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.2.0</version>
</dependency>
2、实现
开启page分页
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@MapperScan("com.coname.projectname.mapper")
public class MyBatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}
分页代码
import com.baomidou.mybatisplus.core.conditions.Wrapper;
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.xxxx.xxxx.entity.User;
import com.xxx.xxx.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* @author 徒手千行代码无bug
* @date 2021/01/15 16:01
* @description: description about this class
*/
@Service
public class CommonServiceImpl extends ServiceImpl<UserMapper, User> implements CommonService {
@Autowired
private UserMapper userMapper;
@Override
public void test(){
List<User> users = userMapper.selectPage(new Page<>(2,1),
new QueryWrapper<User>().in("userId", Arrays.asList(1,2))).getRecords();
System.out.println("users number is:" + users.size());
}
}
二、PageHelper方式
1、依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.10</version>
<exclusions>
<exclusion>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
</exclusion>
<exclusion>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
</exclusion>
</exclusions>
</dependency>
2、配置
pagehelper:
helper-dialect: mysql
reasonable: true
support-methods-arguments: true
page-size-zero: true
params: count=countSql
3、实现
import com.baomidou.mybatisplus.core.conditions.Wrapper;
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.xxxx.xxxx.entity.User;
import com.xxxx.xxxx.entity.CredentialDetail;
import com.xxxx.xxxx.mapper.CredentialDetailMapper;
import com.xxxx.xxxx.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import com.github.pagehelper.PageHelper;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* @author 徒手千行代码无bug
* @date 2021/01/15 16:01
* @description: description about this class
*/
@Service
public class CommonServiceImpl extends ServiceImpl<UserMapper, User> implements CommonService {
@Autowired
private UserMapper userMapper;
@Override
public void test(){
PageHelper.startPage(1, 100);
// 作用于下一行的查询
List<User> users = userMapper.selectList(
new QueryWrapper<User>().in("userId", Arrays.asList(1,2)));
PageHelper.startPage(2, 4);
// 作用于下一行的查询
List<CredentialDetail> credentialDetails = credentialDetailMapper.selectList(
new QueryWrapper<CredentialDetail>().lambda().notLike(CredentialDetail::getFieldValue, "测试"));
System.out.println("users number is:" + users.size());
System.out.println("credentialDetails number is:" + credentialDetails.size());
}
}