藤井树441 2022-04-24 09:12 采纳率: 93.8%
浏览 70
已结题

使用页面传入的id完成修改

问题遇到的现象和发生背景

我是在写增删改查中的修改

在点击修改后,会将JSON转化为java,并获取其中的id使用update方法来完成修改。

假如修改功能完成后,我会让新增功能与修改共用一个表单,通过判断有无id传入。有id传入的是修改,没有的是新增。
但是,卡死在了第一步,请求高人解惑。。

问题相关代码,请勿粘贴截图

```bash
<---BrandMapper--->

@Update("UPDATE tb_brand SET brand_name=brandName,company_name =companyName,ordered =ordered,description =description,status =status WHERE id = #{id}")
void update(@Param("brand") Brand brand ,@Param("id") Integer id);

<----BrandServlet----->

public void update(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{
BufferedReader br = req.getReader();
String params = br.readLine();
Brand brand = JSON.parseObject(params,Brand.class);
Integer id =(Integer) brand.getId();
brandService.update(brand,id);
resp.getWriter().write("success");

}

###### 运行结果及报错内容 

```bash
Caused by: org.apache.ibatis.exceptions.PersistenceException:

Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'brandName' in 'field list'
The error may exist in com/itheima/mapper/BrandMapper.java (best guess)
The error may involve com.itheima.mapper.BrandMapper.update-Inline
The error occurred while setting parameters

我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

2条回答 默认 最新

  • jiyeon爱的小龙虾 2022-04-24 09:37
    关注

    这报错看起来是传参的问题,brandName之类的参数值是Brand.class 里面的属性?那是不是得brand.brandName?参照id = #{id}

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月2日
  • 已采纳回答 4月24日
  • 创建了问题 4月24日

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助