ssm实现不同表多字段的更新接口

po层:

两个属性名:table(String)、params(HashMap<String,String>)
在这里插入图片描述

dao层:

//更新数据
    public Integer updateData(@Param("table") String table, @Param("params") HashMap<String, String> params);

mapper映射文件:

<update id="updateData" parameterType="data" statementType="PREPARED">
    update ${table} set
    <foreach item="value" index="key" collection="params" separator=",">
        <if test="key != 'ID'">${key} = #{value}</if>
    </foreach>
    where
    <foreach item="value" index="key" collection="params" separator=",">
        <if test="key == 'ID'">ID = #{value}</if>
    </foreach>
</update>

通过< foreach>标签遍历params中的键值对

Service层

//更新数据
    public Integer updateData(String table, HashMap<String, String> params);

Impl实现类:

//更新数据
    @Override
    public Integer updateData( String table,HashMap<String,String> params) {
        int num = this.dataDao.updateData(table,params);
        return num;
    }

Controller层

/**
 * 更新数据
 * @param data
 * @return
 */
    @RequestMapping(value = "/UPDATE")
    @ResponseBody
    public String updateData(@RequestBody Data data) {
        int num = dataService.updateData(data.getTable(), data.getParams());
        return num > 0 ? "ok" : "error";
    }

数据更新成功返回ok,失败返回error

使用Postman进行接口测试:

在这里插入图片描述
发送请求后,响应体内容
在这里插入图片描述
数据表更新成功

原customer表数据
在这里插入图片描述
调用接口后customer表数据
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值