多表同结构的Native sql查询

查询中相同结构的表
比如销售纪录的表
一天生成一个或者别的方式生成,结构相同,我们可以把他作为一个表做一个mapping和一个bean
比如销售信息SellInfo
在dao中用native sql统计查询(普通的查询我就不说了)
[code] /**
* 单店统计查询
* @param tableName 查询表名
* @param sellInfo 查询例子
* @param startTime 开始时间
* @param finishTime 结束时间
* @param sumBy 按什么求和
* @param groupBy 按什么分组
* @return 数量 项目
*/
public List queOneShopGrp(String tableName,SellInfo sellInfo,Date startTime,Date finishTime,String sumBy,String groupBy)
{
Session session = this.getSession();
StringBuffer sql = new StringBuffer();
sql.append("select sum(S.");
sql.append(sumBy);
sql.append(") as sumMoney,S.");
sql.append(groupBy);
sql.append(" as foodName from ");
sql.append(tableName);
sql.append(" S where");
if(sellInfo!=null)
{
sql.append(this.getExampleStringS(sellInfo));
}
sql.append(" S.sellTime between :startTime and :finishTime ");
sql.append("group by S.");
sql.append(groupBy);
System.out.println(sql.toString());
Query query = session.createSQLQuery(sql.toString())
.addScalar("sumMoney", Hibernate.DOUBLE)
.addScalar("foodName", Hibernate.STRING)
.setDate("startTime", startTime)
.setDate("finishTime", finishTime);
return query.list();
}[/code]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值