程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> 使用JSP實現簡易的SQL報表

使用JSP實現簡易的SQL報表

編輯:關於JSP

這個內容也是根據企業學員的要求准備的. 其實這個小項目是剛畢業時候做的, 很多時候我們希望執 行下面的SQL/HQL然後得到一個HTML表格輸出:

輸入: select ID as 編號, NAME as 姓名, AGE as 年齡 from XXX

輸出:

編號 姓名 年齡      

要求是如果SQL變動, 仍然要顯示出來所有的別名字段信息和數據.

因為現在Hibernate用的比較廣泛, 所以優先考慮用Hibernate來實現, 結果發現如果是實體映射查詢 語句, 可以方便的用:List Query.getReturnAliases() 獲得別名, 然而我們知道查詢時有時候語句是很 復雜的, 不全是HQL, 這時候用SQLQuery的時候, 驚訝的提示這個方法尚未實現(最新版的Hibernate 3.3 是否實現尚未測試), 用的版本是Hibernate 3.2, 對應的代碼是:

DAO

/**
 * 根據查詢語句返回結果, 並包含結果的列名
 * @param hql
 *  @param args
 * @return
 */
public List queryAllForReport( final String  hql, final Object... args) {
  List list = getHibernateTemplate().executeFind (new HibernateCallback() {
     public Object doInHibernate(Session session)
     throws HibernateException, SQLException {
     Query query =  session.createQuery(hql);

     for(int i =0; i < args.length;  i++) {
       query.setParameter(i, args[i]);
     }


     List list = query.list();
     list.add(0,  query.getReturnAliases());

     return list;
     }
     });

  // Hibernate做count計算返回一般都是對象

  return list;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved