有時候寫視圖,裏面有用到臨時字段的。取出來後該字段類型爲BigDecimal類型的。需要轉換
我的 scoreindex爲臨時字段,下面這個sql語句在庫裏執行是沒有錯的。但在程序裏會出錯。
String sql = "select scoreindex from tb_person_view where uuid='"+uuid+"'";
因爲這樣查詢出來的,java默認不是對象數組。
以下爲正確代碼
String sql = "select scoreindex,name from tb_person_view where uuid='"+uuid+"'";
Map<String, Object> params = new HashMap<String, Object>();List<Object[]> objs = findBySql(sql, params, -1, -1);
List<CaseModel> cases = new ArrayList<CaseModel>();
CaseModel model = new CaseModel(); //必須在這裏從新實例化一下對象
if(objs.size()>0){
Object[] obj;
obj = objs.get(0);
Integer ss = ((BigDecimal) obj[0]).intValue();//對BigDecimal類型的裝換
model.setScoreIndex(ss);
cases.add(model);
}
return cases.get(0);