Fight With Me!!!

导航

注意资源利用 不然导致资源消耗会很严重

for(Shop s:list) {
            System.out.println(s.getName());
            String sql="select shopId,sum(ele_bank+ele_card+water_card+water_bank+coal_card+coal_bank) as zonghe ,sum(sale_bank+sale_card) as  sale,sum(cigarette_card+cigarette_bank)  as bacco, sum(yidong_card+yidong_bank+dianxin_card+dianxin_bank)  as recharge from hs_shop_items  where  record_time like '%2013-12-12%' and shopId="+s.getId();
            Session officeSession=officeSessionFactory.openSession();
            officeSession.beginTransaction();
            SQLQuery queryOffice=officeSession.createSQLQuery(sql);
            List<ShopTransDTO>  r=queryOffice.addEntity(ShopTransDTO.class).list();
            res.add(r.get(0));
        }

  

如上图中的

Session officeSession=officeSessionFactory.openSession();
officeSession.beginTransaction();

  

这个部分放在循环中是错误的

 

应该这么写:

Session officeSession=officeSessionFactory.openSession();
officeSession.beginTransaction();
for(Shop s:list) {
            System.out.println(s.getName());
            String sql="select shopId,sum(ele_bank+ele_card+water_card+water_bank+coal_card+coal_bank) as zonghe ,sum(sale_bank+sale_card) as  sale,sum(cigarette_card+cigarette_bank)  as bacco, sum(yidong_card+yidong_bank+dianxin_card+dianxin_bank)  as recharge from hs_shop_items  where  record_time like '%2013-12-12%' and shopId="+s.getId();
            SQLQuery queryOffice=officeSession.createSQLQuery(sql);
            List<ShopTransDTO>  r=queryOffice.addEntity(ShopTransDTO.class).list();
            res.add(r.get(0));
}

  

posted on 2016-05-28 12:56  nickTimer  阅读(407)  评论(0编辑  收藏  举报