小新*

导航

 

6.1使用limit分页

在mybatis04中

语法:SELECT *from user limit startIndex,pageSize;
	SELECT *from user limit 3;   #[0,n]

下标从0开始

增强型for循环可以通过.for来便捷完成

使用Mybatis实现分页,核心SQL

1.接口

//分页实现查询
List<User>getUserByLimit(Map<String,Integer> map);

2.Mapper.xml

//结果集映射
 <resultMap id="UserMap" type="User">
        <!--column数据库中的字段,property实体类中的属性-->
  <!--      <result column="id" property="id"/>
        <result column="name" property="name"/>-->
        <!--什么不一样转什么-->
        <result column="pwd" property="password"/>
    </resultMap>

//分页
<select id="getUserByLimit" parameterType="map" resultMap="UserMap">
    select * from mybatis.user limit #{startIndex},#{pageSize}
</select>

使用结果集映射(resyltMap),才能把对应的密码输出来,否则就是id+name没有密码,在当前这和版本,mybatis不接受parameterMap,所以换成parameterType.

3.测试

6.2 RowBounds分页

不再使用sql实现分页

  1. ​ 接口

    List<User>getUserByRowBounds();
    
  2. mapper.xml //写sql语句,使用结果集映射

        <!--分页-->
      <select id="getUserByRowBounds"  resultMap="UserMap">
            select * from mybatis.user
        </select>
    
    
  3. 测试

@Test
    public void getUserByRowBounds(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        //RowBounds实现,
        //offset第一页,limit为每页的数据
        RowBounds rowBounds = new RowBounds(1,2);

        //通过java代码层面实现分页
        List<User> userList = sqlSession.selectList("com.kuang.dao.UserMapper.getUserByRowBounds",null,rowBounds);
        for (User user : userList) {
            System.out.println(user);
        }
        sqlSession.close();
    }

6.3分页插件

image-20221118194431276

posted on 2022-12-01 19:37  小新*  阅读(26)  评论(0)    收藏  举报