hibernate吧 关注:2,522贴子:3,001
  • 0回复贴,共1

ssh新手请教一个hibernate查询数据库的问题

只看楼主收藏回复

public int countRows(String userName,String unitCode,String startStr,String endStr){
int result = 0;
//String unitCode2 = "0004%";
String hqlString = "select count(*) from LogMaintainEntity where unitCode like ? and opTime > ? and opTime < ? ";
//用户名不为空
if(!userName.equals(""))
{
hqlString += " and userName = ?";
try{
Query query = this.getSession().createQuery(hqlString);
query.setParameter(0, unitCode);
query.setParameter(1, startStr);
query.setParameter(2, endStr);
query.setParameter(3, userName);
result = ((Number)query.uniqueResult()).intValue();
this.getSession().close();//关闭session
}
catch(Exception e){
this.getSession().close();//关闭session
System.out.println(e);
}
}
//用户名为空
else {
try{
Query query = this.getSession().createQuery(hqlString);
query.setParameter(0, unitCode);
query.setParameter(1, startStr);
query.setParameter(2, endStr);
result = ((Number)query.uniqueResult()).intValue();
System.out.println("总行数"+result);
this.getSession().close();//关闭session
}
catch(Exception e){
this.getSession().close();//关闭session
System.out.println(e);
}
}
return result;
}
上面这段代码是返回一个mysql中日志视图的行数,在用户名为空的时候响应时间很长,请问有什么思路解决吗?


1楼2016-03-30 16:35回复