您当前的位置: 首页 >  sql

梁云亮

暂无认证

  • 2浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【精品】MyBatis 和 MyBatisPlus 自定义SQL并支持分页

梁云亮 发布时间:2020-07-31 16:52:48 ,浏览量:2

有关MyBatis 和 MyBatisPlus 分页分为以下两个博客讲解: 博客一 博客二

Mapper接口
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@Mapper
public interface CategoryMapper extends BaseMapper {
    List query1(@Param("state")Integer state);
    
    IPage query2(Page page,@Param("state")Integer state);
}

注:

  • 引入的Page所属于的包为com.baomidou.mybatisplus.extension.plugins.pagination.Page
  • page参数为分页对象,它必须作为方法的第一个参数。利用这个参数可以实现自动分页
XML文件

DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

  
    
    
    
    
    
    
  
  
    
    id, `name`, `level`, `state`
  
  
  
    select
    
    from tb_category
    where state =#{state}
  
  
  
    select
    
    from tb_category
    where state =#{state}
  

测试代码
@Test
void query1(){
    Page page = new Page(4,3);
    List list = categoryMapper.query1(1);
    list.forEach(System.out::println);
    System.out.println(page);	//输出的page对象中没有具体的分页数据
}
@Test
void query2(){
    IPage page = new Page(4,3);
    categoryMapper.query2(page,1);
    System.out.println(page);   //输出的page对象中有具体的分页数据
}
结论

为了让IPage对象中直接包含从数据库中查询到的分页数据,建议在定义查询方法时直接使用query2的方式。

关注
打赏
1665409997
查看更多评论
立即登录/注册

微信扫码登录

0.0476s