有时候写视图,里面有用到临时字段的。取出来后该字段类型为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);