3个回答
展开全部
/**
* 获取分页实体数据
* @param entityClass 实体类
* @param firstindex 开始索引
* @param maxresult 需要获取的记录数
* @param wherejpql 条件
* @param queryParams 条件参数
* @param orderby 排序条件
* @return QueryResult
*/
public <T> QueryResult<T> getScrollData(Class<T> entityClass, int firstindex, int maxresult
, String wherejpql, Object[] queryParams,LinkedHashMap<String, String> orderby) {
Session session= HibernateSessionFactory.getSession();
session.clear();
QueryResult qr = new QueryResult<T>();
//拼jpql语句
String entityname 知颂= getEntityName(entityClass);
Query query = session.createQuery("from "+ entityname+ " o "+(wherejpql==null? "": "where "+ wherejpql)+ buildOrderby(orderby));
搭蔽郑 setQueryParams(query, queryParams);
//分页设置
if(firstindex!=-1 && maxresult!=-1) query.setFirstResult(firstindex).setMaxResults(maxresult);
//得到结果并销
qr.setResultlist((List<T>)query.list());
//log.info("调试"+qr.getResultlist().size());
//获取总记录数
query = session.createQuery("select count("+ getCountField(entityClass)+ ") from "+ entityname+ " o "+(wherejpql==null? "": "where "+ wherejpql));
setQueryParams(query, queryParams);
qr.setTotalrecord((Long)query.uniqueResult());
HibernateSessionFactory.closeSession();
return qr;
}
这是我们公司的框架,改改就可以直接用了,你的参数没那么多
追问
看得眼花缭乱了。。你能帮我改一下吗。
追答
// 根据带占位符参数HQL语句查询实体
@SuppressWarnings("unchecked")
protected List<T> find(String hql , Object... params)
{
// 创建查询
Query query = getSessionFactory().getCurrentSession()
.createQuery(hql);
// 为包含占位符的HQL语句设置参数
for(int i = 0 , len = params.length ; i < len ; i++)
{
query.setParameter(i + "" , params[i]);
}
return (List<T>)query.list();
}
-----------------
/**
* 根据用户名,密码查找用户
* @param username 查询所需的用户名
* @param pass 查询所需的密码
* @return 指定用户名、密码对应的用户
*/
public AuctionUser findUserByNameAndPass(String username , String pass)
{
// 执行HQL查询
List<AuctionUser> ul = (List<AuctionUser>)find(
"from AuctionUser au where au.username=?0 and au.userpass=?1 " ,
username , pass);
// 返回查询得到的第一个AuctionUser对象
if (ul.size() == 1)
{
return (AuctionUser)ul.get(0);
}
return null;
}
ZESTRON
2024-09-04 广告
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸...
点击进入详情页
本回答由ZESTRON提供
展开全部
方法传入一个String类型的hql语句,和一个String数组类型档拆的param,param是hql语句中传递的参数
查询时需要哪数的条件既李蠢首是param中的值
查询时需要哪数的条件既李蠢首是param中的值
追问
public List query(String by, String AscDes) throws Exception {
String hql = "from Resource order by " + by + " " + AscDes;
要是这样我知道传值,可是传一条hql语句 ,就犯迷糊了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个查询方法 那个param数组 有什么用吗????
追问
传参数的吧,我也不太明白,别人开发的,我试着做一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询