`
HuNanPengdake
  • 浏览: 236349 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Hihernate OBJECT对象转为VO对象实例

阅读更多

Hihernate OBJECT对象转为VO对象实例


public List<StatChannelBean> queryChannelList2(String startDate,String endDate,Integer productId,
			Integer channelId1,Integer channelId2,Integer channelId3){
		List<StatChannelBean> list = null;
		try {
			String result = "select tscc.id,tscc.tf timeframe,tscc.channelId,tscc.productId,sum(tscc.insNum) insNum,sum(tscc.actNum) actNum,sum(tscc.regNum) regNum,sum(tscc.logNum) loginNum,sum(tscc.restNum1) restNum1,sum(tscc.restNum3) restNum3,sum(tscc.restNum7) restNum7," +
					"tscc.status,tscc.channelId1,tscc.channelId2,tscc.channelId3,tscc.productName,tscc.channelName1,tscc.channelName2,tscc.channelName3,if(sum(tsc.chargeNum) is null,0,sum(tsc.chargeNum)) chargeNum,if(sum(tsc.chargeTime) is null,0,sum(tsc.chargeTime)) chargeTime,if(sum(tsc.chargeAmount) is null,0,sum(tsc.chargeAmount)) amount ";
			
			//渠道表信息拼接SQL
			StringBuffer channelSql = new StringBuffer();
			channelSql.append("select ts.id id,date_format(ts.timeframe,'%Y-%m-%d') tf,ts.channelId channelId,ts.productId productId,ts.channelId1 channelId1,ts.channelId2 channelId2,ts.channelId3 channelId3," +
					"p.name productName, c1.nickName channelName1, c2.nickName channelName2, c3.nickName channelName3," +
					"sum(ts.loginNum) logNum,sum(ts.insNum) insNum,sum(ts.actNum) actNum,sum(ts.regNum) regNum,sum(ts.restNum1) restNum1,sum(ts.restNum3) restNum3,sum(ts.restNum7) restNum7," +
					"ts.status status ");
			channelSql.append(" from t_stat_channel_case ts, t_channel c, t_channel c1, t_channel c2, t_channel c3, t_product p  ");
			channelSql.append(" where ts.channelId = c.channelId and ts.productId = p.id and ts.channelId1 = c1.channelId and ts.channelId2 = c2.channelId and ts.channelId3 = c3.channelId and ts.status=1 ");
			if(null!=productId&&!"".equals(productId)){
				channelSql.append(" and ts.productId=").append(productId);
			}
			if(null!=channelId1&&!"".equals(channelId1)){
				channelSql.append(" and ts.channelId1=").append(channelId1);
			}
			if(null!=channelId2&&!"".equals(channelId2)){
				channelSql.append(" and ts.channelId2=").append(channelId2);
			}
			if(null!=channelId3&&!"".equals(channelId3)){
				channelSql.append(" and ts.channelId3=").append(channelId3);
			}
			
			channelSql.append(" group by tf");
			
			//充值表信息拼接SQL
			StringBuffer chargeSql = new StringBuffer();
			chargeSql.append("select timeframe,channelId,sum(chargeNum) chargeNum,sum(chargeTime) chargeTime,sum(chargeAmount) chargeAmount " +
					"from t_stat_charge where 1=1");
			if(null!=productId&&!"".equals(productId)){
				chargeSql.append(" and productId=").append(productId);
			}
			if(null!=channelId1&&!"".equals(channelId1)){
				chargeSql.append(" and channelId1=").append(channelId1);
			}
			if(null!=channelId2&&!"".equals(channelId2)){
				chargeSql.append(" and channelId2=").append(channelId2);
			}
			if(null!=channelId3&&!"".equals(channelId3)){
				chargeSql.append(" and channelId3=").append(channelId3);
			}
			chargeSql.append(" group by timeframe");
			
			String sql = " from (" + channelSql.toString() + ") tscc left join (" + chargeSql.toString() + ") tsc on tscc.tf=tsc.timeframe where 1=1";
			if(null!=startDate&&!"".equals(startDate)){
				sql += " and tscc.tf >= '" + startDate + "'";
			}
			if(null!=endDate && !"".equals(endDate)){
				sql += " and tscc.tf <= '" + endDate + "'";
			}
			sql += " group by tscc.tf order by tscc.tf desc";
			
			System.out.println(result + sql);
			
			final String fSql = result + sql;
			list = this.getHibernateTemplate().execute(new HibernateCallback<List<StatChannelBean>>(){
				@Override
				public List<StatChannelBean> doInHibernate(Session session)
						throws HibernateException, SQLException {
					return session.createSQLQuery(fSql).addScalar("timeframe",Hibernate.STRING).addScalar("productName",Hibernate.STRING)
					.addScalar("channelName1",Hibernate.STRING).addScalar("channelName2",Hibernate.STRING).addScalar("channelName3",Hibernate.STRING)
					.addScalar("insNum", Hibernate.INTEGER).addScalar("actNum",Hibernate.INTEGER)
					.addScalar("regNum",Hibernate.INTEGER).addScalar("loginNum",Hibernate.INTEGER).addScalar("restNum1",Hibernate.INTEGER)
					.addScalar("restNum3",Hibernate.INTEGER).addScalar("restNum7",Hibernate.INTEGER).addScalar("chargeNum",Hibernate.INTEGER)
					.addScalar("chargeTime",Hibernate.INTEGER).addScalar("amount",Hibernate.INTEGER)
					.setResultTransformer(Transformers.aliasToBean(StatChannelBean.class)).list();
				}
			});
		} catch (Exception e) {
			e.printStackTrace();
			throw new DaoException(e.getMessage(),e);
		}
		return list;
	}
分享到:
评论

相关推荐

    Javascript创建自定义对象 创建Object实例添加属性和方法

    如下所示: 代码如下: var person = new Object(); person.name = “Nicholas”; person.age = “29” person.job = “Software Engineer”; person.sayName = function () { alert&#40;this.name&#41;; }; person....

    自己实现的Android中将任意实体类(Entity、vo、dto、Model)对象(object)转为Json字符串的一个类

    这个工具类“JsonUtil”是为了帮助开发者快速将Android中的实体类对象(Entity、VO、DTO、Model)转化为JSON字符串,方便进行网络请求或存储数据。 一、JsonUtil类的设计与实现 JsonUtil通常是一个静态类,包含一...

    对象转为json格式所需要的所有的jar

    标题中提到的“对象转为json格式所需要的所有的jar”,主要指的是Java中用于处理JSON转换的库的jar文件。其中,最常用的两个库是Jackson和Gson。 1. **Jackson库**: Jackson是Java中最流行的JSON处理库之一,由 ...

    视图对象(VO、DTO)的应用!

    在软件开发中,视图对象(View Object,简称VO)和数据传输对象(Data Transfer Object,简称DTO)是两种常见的设计模式,它们在系统架构中起着至关重要的作用。这两种对象主要用于解决数据模型与界面展示之间的数据...

    js 面向对象实例

    面向对象编程(Object-Oriented Programming,简称OOP)是JavaScript中的核心概念,它允许开发者通过对象来组织和管理代码,提高代码的可重用性和可维护性。本实例将深入探讨JavaScript的面向对象特性,并结合HTML5...

    将List集合中的map对象转为List&lt;对象&gt;形式实例代码

    将List集合中的map对象转为List&lt;对象&gt;形式实例代码 本文主要介绍了将List集合中的map对象转为List&lt;对象&gt;形式实例代码的实现方法。该方法可以将List集合中的map对象转换为List&lt;对象&gt;形式,以便于更好地管理和使用...

    JavaScript中的Object对象学习教程_.docx

    Object实例对象的两个重要方法: 1. `Object.prototype.valueOf()`:返回对象的值。默认情况下,它返回对象本身。在类型转换时,JavaScript会默认调用此方法。 2. `Object.prototype.toString()`:返回对象的字符串...

    Map 转为Object Object 转为 Map java jdk1.4以上

    而Object是所有Java类的父类,代表所有对象的基类。 **Map转为Object** 1. **创建一个JavaBean类**: 首先,你需要创建一个JavaBean类,该类的属性与Map中的键相对应。例如,如果Map有"firstName"和"lastName"两个...

    2017XML字符串转对象Object 实现工具

    转换为对象 xmlToObject.vo.Request(自定义) 里面还包含其他对象。 转成的对象 已JSON格式后台输出 {"body":{"class":"xmlToObject.vo.ReqBody","list":[{"class":"xmlToObject.vo.Foot","name":"红豆","rmb":"10...

    MapToObjectUtil.java(Map转Object对象)

    Java代码Map转Object对象

    c++面向对象编程实例大全

    《C++面向对象编程实例大全》是一本专为初级学习者设计的教程,旨在通过丰富的实例深入浅出地讲解C++的面向对象编程概念。面向对象编程(Object-Oriented Programming,简称OOP)是C++的核心特性,也是现代软件开发...

    未将对象引用设置到对象的实例 (System.NullReferenceException)

    //a是Null对象 protected void Page_Load(object sender, EventArgs e) { a.ToString();//调用一个Null对象的方法 } 当然啦!结果就如下图了: 这么赤裸裸的写出这种代码,不太容易,通常更倾向于下面一种: 2:...

    对象 Object 转换工具

    使用此工具类,对于Object和byte[] 数组, 16进制和String之间的转换

    Java Object实例代码

    Java Object 类是所有Java类的根,它定义了所有对象都具有的基本行为。在这个实例代码中,我们将深入探讨七个关键知识点,它们是Java Object的基础,对于理解和使用Java编程至关重要。 1. **对象**: 在Java中,...

    jQuery EasyUI 1.2.6 解决无法遮罩object对象的问题

    jQuery EasyUI 1.2.6 解决无法遮罩object对象的问题,在代码第1862行增加iframe对象遮罩object对象。

    ObjectToMapUtil.java(Object对象转Map)

    Java代码Object对象转Map

    基于ACE的活动对象实例

    **基于ACE的活动对象实例详解** 活动对象(Active Object)是一种设计模式,它将方法调用与实际执行解耦,使得方法可以在不同的线程或进程中异步执行。在分布式系统和并发编程中,活动对象模式被广泛应用于实现复杂...

    04JavaObject对象ppt

    04JavaObject对象ppt

    asp输出json对象实例

    标题"asp输出json对象实例"指的是在ASP中创建和输出一个JSON对象,而不是简单的JSON字符串。通常,我们需要先将ASP中的数据结构(如数组或对象)转化为JSON格式,然后通过HTTP响应输出到客户端。这个过程中可能会...

    c#+MapObject实例

    本文将深入探讨C#与MapObject的集成以及如何通过实例来理解和应用这一技术。 首先,让我们了解C#中的MapObject接口。MapObject是GIS开发中的核心对象,它代表了一个地图视图,可以显示地图数据、执行地图操作,如...

Global site tag (gtag.js) - Google Analytics