当前位置: 代码迷 >> SQL >> hibernate 纯天然sql 别名 查询 取值
  详细解决方案

hibernate 纯天然sql 别名 查询 取值

热度:263   发布时间:2016-05-05 13:17:11.0
hibernate 原生态sql 别名 查询 取值
//查询的sql语句StringBuffer sql = new StringBuffer(" select a.address as address ,a.zzrs as zzrs ,SUBSTRING (convert(varchar (20),(a.zzrs*1.0/b.zs*100)),1,4)+'%' as bfb  from ");			sql.append(" (select address ,count(address) as zzrs  from History group by  address) a ");			sql.append(" ,(select count(*) as zs from History) b order by a.zzrs desc ");//查询方法public Pagination getPaginactionHql_(final String sql,final String countSql, final int pageSize,			final int pageNumber) {		return (Pagination) this.getHibernateTemplate().execute(				new HibernateCallback() {					// 返回Paginaction					int totalCount = ((Integer) queryObjectCount(countSql))							.intValue();					Pagination pagination = new Pagination(pageSize,							pageNumber, totalCount);					public Object doInHibernate(Session session)							throws HibernateException, SQLException {						Query query = session.createSQLQuery(sql).						addScalar("address", new org.hibernate.type.StringType()).						addScalar("zzrs", new org.hibernate.type.StringType()).						addScalar("bfb", new org.hibernate.type.StringType());						    						// 最大记录数						query.setMaxResults(pageSize);						// 偏移量						query.setFirstResult(pageSize * (pageNumber - 1));						List list = query.list();						if (list.size() > 0) {							pagination.setList(list);							return pagination;						} else {							return null;						}					}				});	}//取值for(Iterator<Object[]> a = this.pagination.getList().iterator();a.hasNext();){			Object[] test = a.next();			System.out.println((String)test[0]+"  "+(String)test[1]+"   "+(String)test[2]);		}        		System.out.println("*******************************");				Object[] objs = this.pagination.getList().toArray();		for(Object o :objs){			Object[] oo = (Object[]) o;			System.out.println(oo[0]+"   "+oo[1]+"       "+oo[2]);		}

?

  相关解决方案