hibernateTemplate 使用原生sql查詢,並將查詢結果集直接封裝成map物件
阿新 • • 發佈:2018-12-14
private List<?> findBySQLForWhat(String sql,Object[] args,String what) { SQLQuery query = this.getSession().createSQLQuery(sql); if(args != null && args.length > 0) { for (int i = 0; i < args.length; i++) { query.setParameter(i, args[i]); } } if("map".equalsIgnoreCase(what)) { query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); } //設定從快取中獲取資料 query.setCacheable(true); return query.list(); }
關鍵程式碼:query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
這個map物件中的key使用對應列的欄位名稱,value為結果