首页 > 代码库 > 从dao层查出的数据到页面时数值都是零的异常

从dao层查出的数据到页面时数值都是零的异常

异常问题:

  IllegalArgumentException: argument type mismatch
  at cn.tedu.utils.BeanListHandler.handle(BeanListHandler.java:41)

  从dao层查询出的数据转发到jsp前台页面时,数值或者数量类的数值得出的结果只有零,而其它数据没毛病~~~

 

原因:导致其原因时数值类型转换异常。也就说数值的类型对不一致。

   eg:在dao层通过聚合函数SUM(int a)计算出数量值,最终得到一个BigDecimall类型的。这时类型就对不上了...

 

解决方法:对类型进行控制判断

1 Object obj =null;
2 if(pd.getPropertyType()==Integer.TYPE){
3     obj = rs.getInt(name);
4 }else{ 
5     obj = rs.getObject(name);
6 }
7 method.invoke(t, obj);//坑!!!坑!!!

 

从dao层查出的数据到页面时数值都是零的异常