Java数组传参sql_java - 无法使用NamedParameterJdbcTemplate将不同的参数(例如2个String和2个String []数组参数)传递给SQL - 堆栈内存溢出...

当我尝试将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... */);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值