为了账号安全,请及时绑定邮箱和手机立即绑定

namedParameterJdbctemplate 更新有多个要更新的字段

namedParameterJdbctemplate 更新有多个要更新的字段

长风秋雁 2022-07-20 12:12:07
尝试更新表中的多个列值。我缺少什么,有点帮助!该dao方法就像... Plan类的所有字段都填充了适当的数据。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 语法 [update webstat_plan set (plan_name= ?, price_category= ?, updated_by= ?) where id=?)]; 嵌套异常是 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法....
查看完整描述

1 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

问题在于您的 SQL 查询。更新表时不需要括号。

更新您的查询

UPDATE plan_table SET plan_name= :plan_name, price_category= :price_category, updated_by= :id where id=:id


查看完整回答
反对 回复 2022-07-20
  • 1 回答
  • 0 关注
  • 259 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信