由於最近的乙個專案技術選型用了jpa,在使用過程中,感覺jpa對map這種型別著實有點不相容。
問題:只想查詢表中個別字段,並將這些字段封裝為鍵值對map的形式返回給前端
如果對返回的結果不做任何處理,返回的結果是這樣的:
[[1,"張三"],[2,
"李四"],[3,
"王二"]
]
但是,這明顯不是我想要的結果,我理想中的結果應該是這樣的:
[,,,]
所以我一直在搜 jpa 怎樣能把返回的結果裝配成這種,但是一直沒有搜到我想要的結果。直到我發現自己走進去了乙個誤區,我一直在想怎麼將 list 轉換為map,
但是轉為 map 之後,每乙個欄位又都是游離的,不能像存放乙個 object 一樣。我忽然意識到一種辦法,list--->map--->list,下面直接上**。
list list = null;list
arraylist = null
;
for (int i=0;i)
else
}query query =entitymanager.createnativequery(string.valueof(sql));
list =query.getresultlist();//這上面的**可以不用看,只是 jpa 對in的相容也不是很好,所以我使用了nativesqlarraylist = new arraylist<>();
for(object obj : list)
足厚返回的結果:
,,],"extra": null
}
sql中查詢型別為int的字段,返回null的異常
專案中用mybatis3.x,用sql查詢某個表型別為integer的字段,那個表是空表,沒有資料,結果拋異常了,原因是在物件中的屬性為int,空表時,sql查詢出來的是null,結果賦值時拋異常了。拋這樣的異常。解決這個問題,是當查出來為null時,給乙個預設值,如 0。mysql select ...
不返回前端為null的字段
對於返回給前端的json格式資料,我們只使用了其中部分資料,其他資料沒有使用上,但是也響應出來了,一方面 觀,第二方面占用頻寬。舉個例子 專案中常常使用model進行資料互動,假如有user這樣乙個model,傳給前端的json物件是這樣 實際上前端只需要id和name,其他都是多餘的,後端只是為了...
JackSon返回值為null的字段
說實話這個問題真的讓我頭疼,最終想到乙個投機取巧的方法,下面且聽我一一道來。背景jackson default property inclusion non null其實人家的這個要求也很合理,但是web團隊有些資料是否展示的邏輯是根據api是否返回該字段來控制的,如果不返回欄位就不顯示了,所以就出...