Java中的分页技术

一、使用limt语句的分页技术 语句格式

格式1

select * from  jwgl.user  limit startIndex,pagesize

startIndex :起始下标: 指定从哪个下标地址开始, 数据表的第一记录的下标为0, 依次类推

pagesize : 每次查询的记录数,就是一页上显示几条记录,实现分页

格式2

select * from jwgl.user  limit  0,2;

0:从第一条记录开始,2:每页显示两条记录

格式3

select * from jwgl.user  limit  5;
相当于
select * from jwgl.user  limit  0,5;

 5:一页上显示的最大数据为5条记录

二、使用Mybatis分页技术的三步曲----案例1 使用sql语句的分页技术

1、UserMapper接口中

//分页查询技术一 limit 就是面向sql语句的分页技术
    List<User> getUserByLimt(Map<String,Integer> map);

2、UserMapper.xml文件中

<resultMap id="abc" type="User">
        <result property="userid" column="id"/>
        <result property="username" column="name"/>
        <result property="usersex" column="sex"/>
        <result property="userage" column="age"/>
        <result property="useraddress" column="address"/>
    </resultMap>


<select id="getUserByLimt" parameterType="map" resultMap="abc">
        select *from xsgl2.user limit #{starIndex},#{pageSize}
    </select>

3、测试类中

//分页查询技术一 limit 就是面向sql语句的分页技术
    @Test
    public void getUserByLimt(){
        SqlSession sqlSession = DButils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        HashMap<String, Integer> map = new HashMap<String, Integer>();
        map.put("starIndex",2);
        map.put("pageSize",3);
        List<User> list = mapper.getUserByLimt(map);
        for (User user :list){
            System.out.println(user.toString());
    }
        sqlSession.close();
    }

三、使用Mybatis分页技术的三步曲----案例2 使用RowBounds的分页技术

1、UserMapper接口中

    //分页查询技术二 RowBounds 就是面向对象的分页技术 逻辑分页
    List<User> getUserByRowBounds(Map<String,Integer>map);

2、UserMapper.xml文件中

   <resultMap id="abc" type="User">
        <result property="userid" column="id"/>
        <result property="username" column="name"/>
        <result property="usersex" column="sex"/>
        <result property="userage" column="age"/>
        <result property="useraddress" column="address"/>
    </resultMap>

<select id="getUserByRowBounds" resultMap="abc">
        select * from xsgl2.user;
    </select>

3、测试类中

//分页查询技术二 RowBounds 就是面向对象的分页技术
    @Test
    public void getUserByRowBounds(){
        SqlSession sqlSession = DButils.getSqlSession();
       //1、通过RowBounds对象实现分页技术   第几条开始,取多少条
        RowBounds rowBounds = new RowBounds(2, 3);
        //2、通过java代码实现分页技术
        List<User> userList=
                sqlSession.selectList("ljg.com.mapper.UserMapper.getUserByRowBounds",null,rowBounds);
        for (User user:userList){
            System.out.println(user);
        }
        sqlSession.close();
    }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值