使用原生SQL返回實體類具體實現詳情
注:可以直接複製貼上,歡迎提出各種問題,謝謝!
因為網上查詢大都是相同的,自己做時發現很多不懂,摸索了很久才弄懂,所以寫了這個例子,比較容易看懂吧。
使用原生SQL查詢並將結果返回實體中: (1)因為原生SQL返回使用SQLQuery的createSqlQuery();返回的是list,所以在DAO層(資料操作),建立List方法; (2)使用SQLQuery的createSqlQuery("sql");方法,注意:因為需要把結果返回實體類,所以,需要先建立實體類;然後把sql語句中需顯示的欄位或欄位對應的別名寫成小寫; (3)編寫程式碼: public List<實體類名> getLists(){ String sql = "sql語句"; SQLQuery query = this.getSession().createsqlquery(sql) .addScalar("欄位1") .addScalar("欄位2") .addScalar("欄位3") ... .setResultTransformer(Transformers.aliasToBean(實體類名.class)); List<實體類名> list = query.list(); if(list.size()>0){ //返回資料 } } (4)在java中顯示 直接呼叫實體類就行了,比如: