Java namedParameterJdbctemplate更新,包含多个要更新的字段
正在尝试更新表中的多个列值。Java namedParameterJdbctemplate更新,包含多个要更新的字段,java,mysql,sql,spring,Java,Mysql,Sql,Spring,正在尝试更新表中的多个列值。 我缺少的是一点帮助 dao方法类似于… dao类计划的所有字段都填充了适当的数据 public void updatePlan(Plan plan) { SqlParameterSource mapSqlParameterSource = new MapSqlParameterSource().addValue("id", plan.getId()) .addValue("plan_name", plan.getPlan())
我缺少的是一点帮助
dao
方法类似于…dao
类计划的所有字段都填充了适当的数据
public void updatePlan(Plan plan) {
SqlParameterSource mapSqlParameterSource = new MapSqlParameterSource().addValue("id", plan.getId())
.addValue("plan_name", plan.getPlan())
.addValue("price_category", plan.getPrice_category())
.addValue("updated_by", subscriptionPlan.getId());
String UPDATE_PLAN = "UPDATE plan_table SET(plan_name= :plan_name, price_category= :price_category, updated_by= :id) where id=:id)";
SqlParameterSource parameterSource = new BeanPropertySqlParameterSource(subscriptionPlan);
namedParameterJdbcTemplate.update(UPDATE_PLAN, mapSqlParameterSource);
}
错误是…(MySQL数据库-5.6.43,工作台-6.3.9)
org.springframework.jdbc.BadSqlGrammarException:
PreparedStatementCallback;错误的SQL语法[更新webstat_计划集(计划名称=?,价格类别=?,更新人=?),其中id=?)];嵌套异常为com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解正确的语法
问题在于您的SQL查询。 更新表时不需要括号 使用更新您的查询
更新计划\表集合计划\名称=:计划\名称,价格\类别=:价格\类别,更新者=:id,其中id=:id问题与您的SQL查询有关。 更新表时不需要括号 使用更新您的查询
更新计划\表集合计划\名称=:计划\名称,价格\类别=:价格\类别,更新者=:id,其中id=:id您是否尝试过执行SQL语句(当然是使用实值而不是占位符)?这可能有助于发现语法问题。谢谢…的建议。帮助。我真傻。虽然SET后面的括号不是必需的,但是您是否尝试过执行SQL语句(当然是使用实数而不是占位符)?这可能有助于发现语法问题。谢谢…的建议。帮助。我真傻。虽然设置后的括号不是必需的。错误日志是什么,如果你想从别人那里得到帮助,请格式化并改进你的问题。错误日志是什么,如果你想从别人那里得到帮助,请格式化并改进你的问题。