Hibernate 中setResultTransformer使用

來源:互聯網
上載者:User

標籤:creates   operation   find   print   contact   sql語句   i++   eof   name   

在使用hibernate架構,查詢資料庫多張表或者單張表的某幾個需要的欄位資料時,往往只能通過sql語句配合setResultTransformer將查詢到的資料封裝到一個map集合中,再將map集合放入list中返回資料。

樣本:

控制層:查詢還款明細,還款單號、流水號、還款人、還款日期、還款金額//查詢還款明細,還款單號、流水號、還款人、還款日期、還款金額
List<Map<String,Object>> list2 = receivableService.findContactwriteoffByBillId(billId);System.out.println("list2的大小:"+list2);System.out.println("list2的大小:"+list2.size());JSONObject jsonTotal2 = new JSONObject();JSONArray jsonArray2 = new JSONArray();if(list2.size() != 0){  for (int i = 0; i < list2.size(); i++) {Object fBillno =list2.get(i).get("fBillno");Object banktransactionserialno =list2.get(i).get("banktransactionserialno");Object remitoutbankaccountname =list2.get(i).get("remitoutbankaccountname");Object operationdatetime =list2.get(i).get("operationdatetime");Object amount =list2.get(i).get("amount");JSONObject jsonObject2 = new JSONObject();jsonObject2.put("fBillno", fBillno);jsonObject2.put("banktransactionserialno", banktransactionserialno);jsonObject2.put("remitoutbankaccountname", remitoutbankaccountname);jsonObject2.put("operationdatetime", operationdatetime);jsonObject2.put("amount", amount);jsonArray2.add(jsonObject2);jsonTotal2.put("name", "還款明細");jsonTotal2.put("options", jsonArray2);} 

 service層查詢資料

//查詢還款明細,還款單號、流水號、還款人、還款日期、還款金額CONTACTWRITEOFF@Overridepublic List<Map<String, Object>> findContactwriteoffByBillId(String billId) {String sql = "SELECT ff.`billno` fBillno,ff.`banktransactionserialno`,ff.`remitoutbankaccountname`,ff.`operationdatetime`,ff.`amount` "      +" FROM  fin_contactwriteoff ff WHERE ff.`csbill` =‘"+billId+"‘";Query query = this.getSession().createSQLQuery(sql);query.setResultTransformer(new ResultTransformer() {private static final long serialVersionUID = 1L;public Object transformTuple(Object[] val, String[] arg1) {Map<String,Object> m = new HashMap<String,Object>();m.put("fBillno", val[0]);m.put("banktransactionserialno", val[1]);m.put("remitoutbankaccountname",  val[2]);m.put("operationdatetime", val[3]);m.put("amount", val[4]);return m;}@Overridepublic List transformList(List arg0) {return arg0;}});List<Map<String,Object>> list = query.list();return list;}

  在控制層查詢到的資料做個封裝返回到前端即可

Hibernate 中setResultTransformer使用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.