用的是MySQL·,书上推荐用的是数组传递参数,但我这里第二无法收到值
第一个是哪出错了呢?
public int updateBook(int amount, String bk_name) {
String sql = "UPDATE bookstore SET amount =? WHERE bk_name =?";
Object params = new Object[] { amount,bk_name };
int num = **this.jdbcTemplate.update(sql, params);**
return num;
}
报错:PreparedStatementCallback;
bad SQL grammar [UPDATE bookstore SET amount =? WHERE bk_name =?];
nested exception is java.sql.SQLException: No value specified for parameter 2
下面代码可以使用
public int updateBook(int amount, String bk_name) {
String sql = "UPDATE bookstore SET amount =? WHERE bk_name =?";
int num = **this.jdbcTemplate.update(sql,amount,bk_name);**
return num;
}
没看出有啥问题,可能是你的spring版本问题?按住ctrl用鼠标点击去,看看两种写法是不是调用的同一个方法。
Object params = new Object[] { amount,bk_name };这里写错了
应该是
Object[] params = new Object[] { amount,bk_name };