sqlServer 中使用sql语句实现固定分页功能

本文介绍了一个使用Java实现的分页查询功能,通过SQL语句从数据库中获取指定页数的产品信息,并将数据封装到Product对象中返回。此方法能够有效地减少加载大量数据时对服务器的压力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package javabean;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import dao.ConDB;
import entity.Product;
import impl.ProductImp;

public class DealProduct extends ConDB implements ProductImp {

    int count =4;// 确定每页显示几行数据

    /** 

     *查询分页信息

     *page 是前台的当前页

    **/

    public List<Product> selectProductPage(int page) {
        List<Product> list = new ArrayList<Product>();
        Product product=null;
        int rowBegin =0;
        if(page>1){
            rowBegin = (page-1)*count;
        }
        try {
            conn = getConDB();
            String sql ="select top "+count+" * from [company].[dbo].[PRODUCT] where productId not in(select top "+rowBegin+" productId " +
                    "from [company].[dbo].[PRODUCT] order by price desc) order by price desc";

            pst = conn.prepareStatement(sql);
            rs = pst.executeQuery();
                while(rs.next()){
                    product = new Product();
                    product.setProductID(Integer.parseInt(rs.getString(1)));
                    product.setSerialNumber(rs.getString(2));
                    product.setName(rs.getString(3));
                    product.setBrand(rs.getString(4));
                    product.setModel(rs.getString(5));
                    product.setPrice(Float.parseFloat(rs.getString(6)));
                    product.setPicture(rs.getString(7));
                    product.setDescription(rs.getString(8));
                    list.add(product);
                }
            
        } catch (SQLException e1) {
            e1.printStackTrace();    
        }finally{
            closeAll(conn, pst, rs);
        }
        return list;
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值