有时候写视图,里面有用到临时字段的。取出来后该字段类型为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);
本文探讨了在程序中处理SQL查询时遇到的问题,特别是如何将查询结果中BigDecimal类型的数据转换为Java对象。通过使用Map和List进行数据封装,确保了数据在不同环境之间的正确传递和使用。
849

被折叠的 条评论
为什么被折叠?



