参考:https://blog.youkuaiyun.com/weixin_40145819/article/details/111400184
导入依赖:
这是我的依赖:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
也可以参照官网的:https://baomidou.com/guide/page.html
添加congfig
我的这个config是直接从mybatis-plus官网里拷贝过来的
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.H2));
return interceptor;
}
}
Dao层自定义方法
我这里采用的是注解的方式查询数据也可以用配置文件
public interface UserMapper extends BaseMapper<User> {
@Select("select * from user")
IPage<User> selectPageText(Page<User> page);
}
这是配置文件的方式
<mapper namespace="com.gx.mapper.UserMapper">
<select id="selectPageText" resultType="com.gx.entity.User">
select * from user
</select>
</mapper>
service层
public interface UserService extends IService<User> {
IPage<User> selectPageText(Page<User> page);
}
serviceimpl实现类
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Override
public IPage<User> selectPageText(Page<User> page) {
return baseMapper.selectPageText(page);
}
}
测试
这是在controller里测试也可以在测试类里测试
@RequestMapping("/pageUser")
public List<User> pageUser(){
Page<User> userPage = new Page<>(1, 2);
IPage<User> userIPage=userService.selectPageText(userPage);
List<User> userList=userIPage.getRecords();
return userList;
}
这是在测试类里测试:
@Test
public void textPage() {
// 参数一是当前页,参数二是每页个数
Page<User> userPage = new Page<>(1, 1);
IPage<User> iPage = userService.selectPageText(userPage);
System.out.println("总页数:" + iPage.getPages());
System.out.println("总记录数:" + iPage.getTotal());
if (iPage.getRecords().size() != 0) {
List<User> mpUserList1 = iPage.getRecords();
mpUserList1.forEach(System.out::println);
} else {
System.out.println("数据已经加载完成");
}
}