藤井树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 QT6颜色选择对话框显示不完整
  • ¥20 能提供一下思路或者代码吗
  • ¥15 用twincat控制!
  • ¥15 请问一下这个运行结果是怎么来的
  • ¥15 单通道放大电路的工作原理
  • ¥30 YOLO检测微调结果p为1
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下