criteria进行分页查询

本文介绍了一个用于查询股票信息的API实现细节。通过提供特定参数,如国家、市场类型等,可以精确查找所需的股票数据,并支持分页显示。该API利用Hibernate Criteria API进行灵活的数据筛选。

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

public List findStockByStockPO(List Parameter1, int from, int size,
			StockPO po) {
		logger.info("##StartfindStockByStockPO");
		List list = new ArrayList();
		List result = new ArrayList();
		super.getSession().clear();
		Criteria criteria = super.getSession().createCriteria(StockPO.class);
		criteria.add(Restrictions.eq("stockPK.country", po.getStockPK()
				.getCountry()));
		criteria.add(Restrictions.eq("marketType", po.getMarketType()));
		criteria.add(Restrictions.eq("currencyType", po.getCurrencyType()));

		if (null != po.getStockPK().getStockNO())
			criteria.add(Restrictions.eq("stockPK.stockNO", po.getStockPK()
					.getStockNO()));
		if (null != po.getStockInternationalId())
			criteria.add(Restrictions.eq("stockInternationalId", po
					.getStockInternationalId()));
		if (null != po.getStockReservationType4Entity())
			criteria.add(Restrictions.eq("stockReservationType4Entity", po
					.getStockReservationType4Entity()));
		if (null != po.getStockReservationType4TDCC())
			criteria.add(Restrictions.eq("stockReservationType4TDCC", po
					.getStockReservationType4TDCC()));
		if (null != po.getStockReservationType4Strip())
			criteria.add(Restrictions.eq("stockReservationType4Strip", po
					.getStockReservationType4Strip()));

		criteria.setFirstResult(from);
		criteria.setMaxResults(size);
                //from为起始页数size为一页10条数据
               //获得10条记录的集合
		result = criteria.list();
		list.add(0, result);
		criteria.setFirstResult(0);
		criteria.setProjection(Projections.projectionList().add(
				Projections.rowCount()));
                //获得满足条件的总记录数
		int count = ((Integer) criteria.uniqueResult()).intValue();
		list.add(1, new Integer(count));

		logger.info("##LIST" + list.size() + "--" + count);
		return list;
	}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值