问题描述
在用spring jdbcTemplate进行操作时,经常会用到 in .但是为什么有时候能得到真确结果,有时候不能到正确结果呢? 1. 比如如下语句 String sql = "select count(*) num from lottery_term where term_issuenum in (?) and term_lotteryid = ? and term_termstatus in (1,2)" getJdbcTemplate().queryForInt(sql,new Object[]{" '2008326','2008325','2008324' ",103}); 就得不到正确的结果问题补充兄弟我按照你的修改 可以报这个错误:Caused by: java.sql.SQLException: 无效的列类型 Sql中 是这样写的吗 in (?)
解决方案
改成getJdbcTemplate().queryForInt(sql,new Object[]{new String[]{"2008326","2008325","2008324"},103}); 我一般都用List。List list=new ArrayList();list.add("****");etJdbcTemplate().queryForInt(sql,new Object[]{list,103});
解决方案二:
换List.我的sql:select count(*) from info_document where category_id in (:category_id_list);Map<String,Object> parm = new HashMap<String,Object>();parm.put("category_id_list", idList);这里idList是一个List<Long>