当我尝试将String放入MapSqlParameterSource ,查询工作正常,但是当我尝试添加String[]出现无效的列类型错误。
使用sql时,如何在MapSqlParameterSource同时使用String和String[] ?
任何帮助表示赞赏。
sql.append(" Select a.* ");
sql.append(" from CONTRACT_OVERSIGHT_REVIEW a,CONTRACT_OVERSIGHT_PROGRAM b ");
sql.append(" where ");
sql.append(" a.ID_CONTRACTOR = :contractorId ");
sql.append(" and a.TYPE_REVIEW in (:reviewType) ");
sql.append(" and a.SFY = :sfy ");
sql.append(" and a.ID_CONTRACT_OVERSIGHT_REVIEW = b.ID_CONTRACT_OVERSIGHT_REVIEW ");
sql.append(" and b.CD_PROGRAM in (:program)");
// Probably should be MapSqlParameterSource or something like that.
MapSqlParameterSource parameters = new MapSqlParameterSource();
parameters.addValue("contractorId", contractorId); // Type String
parameters.addValue("reviewType", reviewType); // Type String[]
parameters.addValue("sfy", sfy); // Type String
parameters.addValue("program", program); // Type String[]
List results
= jdbcNameTemplate.query(sql.toString(), parameters,
(RowMapper) (rs, rowNumber) -> /* etc... */);