pagedao.java

来自「一个基本的图书馆管理系统」· Java 代码 · 共 54 行

JAVA
54
字号
package c18.dao;

import org.hibernate.Query;
import org.hibernate.Session;

/**
 * 分页支持类
 * @author yuxd
 *
 */
public class PageDao {
	/**
	 * 会话对象
	 */
	protected Session session;
	
	/**
	 * 辅助方法,得到查询总记录数SQL
	 * @param queryString
	 * @return
	 */
	private String getCountQueryString(String queryString){
		//查询总记录数SQL
		String countQuery = "";
		if(queryString.toUpperCase().startsWith("SELECT")){
			countQuery = "select count(*) from (" + queryString + ")";
		}else{
			countQuery = "select count(*) " + queryString + "";
		}
		return countQuery;
	}
	
	/**
	 * 辅助方法,得到查询总记录数
	 * @param queryString
	 * @param values
	 * @return
	 */
	protected int getCount(String queryString, Object[] values){
		//生成查询对象
		Query query = session.createQuery(getCountQueryString(queryString));
		
		//设置参数
		if(values != null){
			for(int i=0; i<values.length; i++){
				query.setParameter(i, values[i]);
			}
		}

		//得到总数
		return ((Integer)query.list().get(0)).intValue();
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?