我正在使用准备好的语句来批量插入记录。我正在迭代一个包含值且它们的数据类型不同的列表。其中一种数据类型是 BigDecimal,当我尝试设置调用preparedstatement 时,它会抛出空指针异常。
我的代码
int count = 1;
for (int j = 0; j < list.size(); j++) {
if(list.get(j) instanceof Timestamp) {
ps.setTimestamp(count, (Timestamp) list.get(j));
} else if(list.get(j) instanceof java.lang.Character) {
ps.setString(count, String.valueOf(list.get(j)));
}
else if(list.get(j) instanceof java.math.BigDecimal) {
ps.setBigDecimal(count, (java.math.BigDecimal)list.get(j));
} else {
ps.setObject(count, list.get(j));
}
count++;
}
我尝试了 2 种转换方法,转换对象并尝试创建一个 BigDecimal 类型的新对象
ps.setBigDecimal(count, new BigDecimal(list.get(j).toString));
两者都不能解决我的问题。它抛出空指针异常。
帮助表示赞赏。
谢谢