MySql分页查询

本文介绍了如何在MySQL中进行分页查询,通过使用LIMIT子句结合偏移量和限制数量来实现。示例查询从pet表中选取owner_id与指定条件匹配的数据,按id升序排列,并展示分页效果。内容涵盖了DaoImpl层和Servlet层的实现,以及在jsp页面上的展示。
摘要由CSDN通过智能技术生成

limit     (pageSize-1)*每页显示的个数,每页显示的个数

SELECT id,NAME,typename,health,love,birthday FROM pet

WHERE owner_id=(SELECT id FROM petowner WHERE NAME=?)

ORDER BY id ASC LIMIT ? ,?";

DaoImpl层

 1 public class PetDaoImpl extends BaseDao implements IPetDao {
 2 
 3     /**
 4      * 根据宠物主人查询其拥有的宠物信息
 5      * @param name 宠物主人姓名
 6      * @return List<Pet>
 7      */
 8     @Override
 9     public List<Pet> getPetByPoname(String poname,int startCount, int pageSize) {
10         // TODO Auto-generated method stub
11         List<Pet> petList = new ArrayList<Pet>();
12         Pet pet = null;
13         
14         String sql="SELECT id,NAME,typename,health,love,birthday FROM pet WHERE owner_id=(SELECT id FROM petowner WHERE NAME=?) ORDER BY id  ASC LIMIT ? ,?";
15         Object[] params= {poname,startCount,pageSize};
16         res=super.excuteSelect(sql, params);
17         try {
18             while(res.next()){
19                 pet=new Pet();
20                 pet.setId(res.getInt("id"));
21                 pet.setName(res.getString("name"));
22                 pet.setTypename(res.getString("typename"));
23                 pet.setHealth(res.getInt("health"
MySQL页查询是指在查询结果集中,根据指定的起始位置和每页显示的记录数,返回对应的记录。常见的MySQL分页查询方法有两种:使用LIMIT关键字和使用子查询。 第一种方法是使用LIMIT关键字,其语法为:SELECT * FROM table LIMIT m, n。其中m表示起始位置,n表示每页显示的记录数。引用中提到,该查询方法能够实现分页,但m越大,查询性能就越低,因为MySQL需要扫描全部m+n条记录。 第二种方法是使用子查询,其语法为:SELECT * FROM (SELECT * FROM table LIMIT m, n) AS t。这种方法相比第一种方法,性能更强,尤其是当m的值较大时。引用指出,由于内部的子查询只扫描了id字段,而非全表,所以性能要强于第一种方法,并且能够解决跨页查询问题。 综上所述,MySQL分页查询可以通过使用LIMIT关键字或者子查询来实现。具体选择哪种方法取决于查询的需求和性能要求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [MySQL分页查询的5种方法](https://blog.csdn.net/m0_67391401/article/details/126062208)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [mysql 数据库分页查询详细讲解](https://blog.csdn.net/m0_37449634/article/details/128903042)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值