1. 程式人生 > >hibernate,將原生SQL執行的結果轉換為Map

hibernate,將原生SQL執行的結果轉換為Map

核心:設定處理查詢結果的策略query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP),表示將結果轉換為Map型別

預設結果是[“張三”,20],加了Transformers.ALIAS_TO_ENTITY_MAP之後,結果是[name:“張三”,age:20]

/**

* 通過sql返回對應List<Map>, Map中key為欄位名, value為查詢出來的資料
* 
* @param sql
*            sql
* @param args
*            sql對應的引數
*/
public List<Map<String, Object>> findToMapBySql(String sql, Object... args) {
Session sqlSession = getBaseDao().getSession();
SQLQuery sqlQuery = sqlSession.createSQLQuery(sql);
setQueryParameter(sqlQuery, args);
return queryResultToMap(sqlQuery);
}


@SuppressWarnings("unchecked")
private static List<Map<String, Object>> queryResultToMap(Query query) {
return query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();
}


private static void setQueryParameter(Query query, Object... args) {
if (args != null) {
for (int i = 0, j = args.length; i < j; i++) {
query.setParameter(i, args[i]);
}
}
}

相關推薦

hibernate原生SQL執行結果轉換Map

核心:設定處理查詢結果的策略query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP),表示將結果轉換為Map型別預設結果是[“張三”,20],加了Transformers.ALIAS_TO_ENTITY_MAP之

C語言——輸入一個字符串連續數字字符轉換數字

一個 [0 fine main span nbsp 輸出 print ont 輸入一個字符串,內有數字和非數字字符,例如: A123cdf 456.78cpc876.9er 849.1 將其中連續的數字作為一個實數,依次存放到一數組a中。例如123存放在a[0],456.

java連線資料庫並把查詢的結果轉換JSON步驟記錄

myeclipse連線mysql資料庫 下載mysql和myeclipse;- 記錄一下我的myeclipse連線mysql所遇見的問題 1.第一步在myeclipse建立一個java工程 new->java project 2.第二步在工程檔案下建立li

如何linq查詢的結果 轉換DataTable,最簡單的實現方法

public static DataTable CopyToDataTable<T>(this IEnumerable<T> array)  {  var ret = new DataTable();  foreach (PropertyDescrip

組合語言ASCII碼十進位制數轉換二進位制數

STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS DATA SEGMENT MES1 DB 'The ascii cod

sql 在sqlplus下能正確執行但是hibernate 原生sql執行報列名無效錯誤

這是我原來的sql: String sql="select s.* from(select t.*,rownum n from (select id,msg_Title,msg_Sdate from Sys_Msg where status=? and msg_sdate&

hibernate中直接執行原生sql遇到型別轉換問題

今天做了個用hibernate直接執行原生sql的查詢,遇到char型別的資料庫欄位查出來只能截斷成一位,後經高人指導,要用自定義的方言,如下: public class OracleDialect extends Oracle10gDialect{  public Orac

關於hibernate如何把原生sql查出的結果轉化物件

原生SQL查詢執行的控制是通過SQLQuery介面進行的,通過執行Session.createSQLQuery()獲取這個介面。下面來描述如何使用這個API進行查詢。 標量查詢(Scalar queries) 最基本的SQL查詢就是獲得一個標量(數值)的列表

Transaction之坑:分析sql執行結果主動促使事務rollback

場景 JavaWeb開發,在開啟事務的Service層方法中,編寫業務邏輯時,經常會使用到如下兩種方式: 手動丟擲異常(如果你沒有配置 一般異常事務回滾,請丟擲 RuntimeEc

如何利用fastjsonJSON格式的字符串轉換Map再返回至前端成為js對象

數據結構 mem spring css 轉換 ring 註意 hash 結構 //註意,這裏的jsonStr是json格式的字符串,裏面如果遇到雙引號嵌套雙引號的,一般是嵌套的雙引號經過轉義 // \",假如有這樣的一個場景,這些字符串裏面有需要的css樣式的js對象

Python Requests post並得到結果轉換json

request blog req pre AS log details class ocs Python Requests post並將得到結果轉換為json 學習了:https://blog.csdn.net/sinat_28680819/article/details/

Python實現ParseDuration-支持解析字符串格式的時間單位例如小時或者分鐘數轉換

AC let invalid python代碼 leading fig onf 字符 sca python的time模塊不支持單獨將字符串格式的分鐘數和小時數轉換為秒,比如將“5m”轉換為“300”(秒),不支持將“0.2h5.1m12.123s”轉換為“1038.123”

String中的toCharArray:此字符串轉換新的字符數組並統計次數

stat 長度 統計 統計次數 main print package int 打印 package stringyiwen; public class StringTestToCharArray { public static void main(String[] args

excel表格數據轉換sql語句

name value 表格 當前 type 懸停 csv 填充 單元格 今天剛從經理那學到的,迫不及待寫下來,以後肯定用得上 1.首先是將excel文件另存為csv格式文件 2.在當前行的最後新增一列,輸入下面函數(其中表字段因人而異) =CONCATENATE(

Java 呼叫Linux 命令並獲取命令執行結果

1.工具類 public class ExcuteLinux { public static String exeCmd(String commandStr) { String result = null; try { St

X++: 查詢結果轉換通用的JSON物件

public static FreeStyle.D365Tools.GMap getCursorValues(Common _table,Map pvSchema) { FreeStyle.D365Tools.GMap lvMap=FreeStyle.D365Tool

Python呼叫百度手寫識別API手寫筆記圖片轉換成文字

事件起因 家裡人有十幾頁手寫筆記想要轉成文字格式。網上搜了一下發現了百度有手寫文字圖片識別的api,於是拿來試試。 雖然最終效果並不理想,還是當做一次測試記錄一下。 手裡有手寫筆記想要識別一下,也可以直接參考下面程式碼試試。 程式碼 程式碼部分

addLoadEvent()具體情況的執行結果

1. 直接呼叫函式,相當於是沒有繫結任何函式,window.onload是null,不是一個function,執行的是if語句。 2. 一開始沒有繫結定任何函式,現在開始要綁定了,比上面的多一步,就是講新的函式傳給它。 3. 如果只有一條繫結語句,

如何hive的執行結果返回給一個變數

hive_cmd9 = 'hive -e "select routermac from %s where rank=%s or rank=%s*2 or rank=%s*3 or rank=%s*4 or rank=%s*5 or rank=%s*6 or rank=%s*7 or rank=%s*8 or

自留:Osm地圖osmdroid下載離線地圖下載的地圖型別轉換圖片(.png/.jpg)

  需要自定義Writer實現IFilesystemCache public class ImgTileWriter implements IFilesystemCache { private String dir; public ImgTileWriter(St