SQL分页查询

Posted RYGAR

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL分页查询相关的知识,希望对你有一定的参考价值。

1、分页

思考:为什么要分页?

  • 减少数据的处理量

使用Limit分页

#语法:
SELECT * FROM `user` LIMIT startIndex,pageSize;

# [0,3]
SELECT * FROM `user` LIMIT 3;

使用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>

3.测试

@Test
public void getUserByLimit(){
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    UserMapper mapper = sqlSession.getMapper(UserDao.class);

    Map<String,Integer> map = new HashMap<>();
    map.put("startIndex",0);
    map.put("pageSize",2);

    List<User> userList = mapper.getUserByLimit(map);
    for(User user:userList){
        System.out.println(user);
    }

    //关闭
    sqlSession.close();
    
}

以上是关于SQL分页查询的主要内容,如果未能解决你的问题,请参考以下文章

mybatis动态sql片段与分页,排序,传参的使用

分页查询的sql 语句(参数1,参数2)?怎么写?

Microsoft SQL Server 代码片段收集

数据表过滤器在应用SQL Server 2008分页代码时无法正常工作

thinkphp5原生查询时,查询结果怎么分页,具体代码应该怎么写?

sql [SQL查询片段]用于在命令行或通过R和其他工具使用SQL的快速代码段#tags:sql,R,text processing,命令li