SQL 语句:
public static Query countShopSmsRecharge(Session session, Long startTime, Long endTime, String money, String other, Long shopId) {
StringBuffer hql = new StringBuffer("select s.id as id, s.shop_id as shopId ,s.recharge_time as rechargeTime,s.recharge_number as rechargeNumber,s.sms_balance as smsBalance,s.recharge_amount as rechargeAmount,s.state as state," +
"s.pay_time as payTime,u.user_name as userName from sms_recharge as s,bcuser.user as u where s.user_id=u.id ");
if (other != null && !"".equals(other)) {
hql.append("and u.user_name like:userName ");
}
if (money != null && !"".equals(money)) {
hql.append("and s.recharge_amount=:money ");
}
if (shopId != null) {
hql.append("and s.shop_id=:shopId ");
}
if (startTime != null) {
hql.append(" and s.recharge_time >=:startTime ");
}
if (endTime != null) {
hql.append(" and s.recharge_time<=:endTime ");
}
SQLQuery sqlQuery = (SQLQuery) session.createSQLQuery(hql.toString()).setLong("shopId", shopId);
if (other != null && !"".equals(other)) {
sqlQuery.setString("userName", "%" + other + "%");
}
if (money != null && !"".equals(money)) {
sqlQuery.setDouble("money", Double.parseDouble(money));
}
if (startTime != null) {
sqlQuery.setLong("startTime", startTime);
}
if (endTime != null) {
sqlQuery.setLong("endTime", endTime);
}
return sqlQuery;
}
转换为实体DTO
public List countShopSmsRecharge(String startTime, String endTime, String money, String other, Long shopId) {
Session session = this.getSession();
try {
SQLQuery query = null;
try {
query = (SQLQuery) SQL.countShopSmsRecharge(session, DateUtil.convertDateStringToDateLong("yyyy-MM-dd", startTime), DateUtil.convertDateStringToDateLong("yyyy-MM-dd", endTime), money, other, shopId)
.setResultTransformer(Transformers.aliasToBean(SmsRechargeDTO.class));
} catch (ParseException e) {
LOG.error(e.getMessage(), e); //To change body of catch statement use File | Settings | File Templates.
}
query.addScalar("shopId", StandardBasicTypes.LONG);
query.addScalar("userName", StandardBasicTypes.STRING);
query.addScalar("smsBalance", StandardBasicTypes.DOUBLE);
query.addScalar("rechargeAmount", StandardBasicTypes.DOUBLE);
query.addScalar("rechargeTime", StandardBasicTypes.LONG);
query.addScalar("state", StandardBasicTypes.LONG);
return query.list();
} finally {
release(session);
}
}
分享到:
相关推荐
hibernate 多表查询 hibernate 多表不同于一般的sql嵌套查询,嵌套查询是不支持的,所以必须要配置好才能实现多表!只要配置好了,还是特别好用的
hibernate实现动态SQL查询,通过XML配置SQL,FREEMARKER 解析,生成要执行的SQL
Hibernate SQLQuery 查询Oracle char类型结果为一个字符解决方法 Hibernate SQLQuery 查询Oracle char类型结果为一个字符解决方法 Hibernate SQLQuery 查询Oracle char类型结果为一个字符解决方法 Hibernate SQL...
Hibernate 函数 ,子查询 和原生SQL查询。Hibernate 函数 ,子查询 和原生SQL查询
NULL 博文链接:https://mlxnle.iteye.com/blog/1766676
Hibernate+本地SQL查询SQLQuery宣贯.pdf
hibernate将本地SQL查询结果封装成对象。如进行复杂的统计等本地sql语句查询后,直接放到对象里了,而不会再使用Object进行强转
Hibernate中使用Criteria Query各种QBC查询
利用MYSQL数据库提供的样例数据库world建立的查询小例子。已经建立好了数据库对应的...本项目主要是为了练习使用Hibernate查询数据库。如果有什么问题可以发站内信或者邮件asddf14@hotmail.com。我会尽量解答一下~~~
hibernate中使用sql 而不是hql语句
使用本地sql语句查询后,无需再使用Object对查询结果进行强制转换,而是直接将查询结果放到实体Bean里了。 PS: 其实只有一版,这里只所以叫最终版是因为该附件我上传了好几天传不上去,到最后报告说‘资源已经存在...
模仿Hibernate生产SQL语句,使用Java反射
使用Hibernate编写通用数据库操作代码
一个基于Hibernate 和 SQLServer 数据库的分页示例,所有文件和数据库备份都在,只是速度不怎么快,如果加上自动生成下拉框,速度就更慢了,单表、10008条测试数据,如果哪位大侠改进了查询速度望告之:vni2007@163....
Ajax+Spring+Hibernate sql Ajax+Spring+Hibernate sql Ajax+Spring+Hibernate sql Ajax+Spring+Hibernate sql Ajax+Spring+Hibernate sql Ajax+Spring+Hibernate sql
SQLServer2008Dialect 优化了原来的分页查询数据方法以及在生成SQL时表后增加了with(nolock)
hibernate sql hqlsql
使用hibernate对sqlserver 2005进行增删改查
hibernate将本地SQL查询结果封装成对象(最终).zip
hibernate执行原生sql语句