我正在 SpringMVC 数据库应用程序中编码。当我尝试使用带有参数的 JdbcTemplate 对象更新方法将数据插入数据库时,在插入数据时出现错误。没有参数编码就可以了,如下:
String sql = "INSERT INTO contact (name, email, address, telephone)"
+ " VALUES ('" + contact.getName() + "', '" + contact.getEmail() + "', '"
+ contact.getAddress() + "', '" + contact.getTelephone() + "')";
jdbcTemplate.update(sql);
但是当我使用参数时,出现错误:
String sql = "INSERT INTO contact (name, email, address, telephone)"
+ " VALUES (?, ?, ?, ?)";
jdbcTemplate.update(sql, contact.getName(), contact.getEmail(),
contact.getAddress(), contact.getTelephone());
请帮助我!
最佳答案
您必须调整参数。检查下面的示例。
//insert with named parameter
public void insertNamedParameter(Customer customer){
String sql = "INSERT INTO CUSTOMER " +
"(CUST_ID, NAME, AGE) VALUES (:custId, :name, :age)";
Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put("custId", customer.getCustId());
parameters.put("name", customer.getName());
parameters.put("age", customer.getAge());
getSimpleJdbcTemplate().update(sql, parameters);
}
您可以引用以下链接作为引用。
关于java - 带参数使用时 JdbcTemplate 更新错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29533937/