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

尝试更新表中的多个列值。

我缺少什么,有点帮助!


该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 服务器版本相对应的手册以获取正确的语法....


长风秋雁
浏览 260回答 1
1回答

MMMHUHU

问题在于您的 SQL 查询。更新表时不需要括号。更新您的查询UPDATE plan_table SET plan_name= :plan_name, price_category= :price_category, updated_by= :id where id=:id
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java