po层:

两个属性名:table(String)、params(HashMap<String,String>)
ssm实现不同表多字段的更新接口

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进行接口测试:

ssm实现不同表多字段的更新接口
发送请求后,响应体内容
ssm实现不同表多字段的更新接口
数据表更新成功

原customer表数据
ssm实现不同表多字段的更新接口
调用接口后customer表数据
ssm实现不同表多字段的更新接口

相关文章:

  • 2021-10-29
  • 2022-02-13
  • 2021-12-24
  • 2022-12-23
  • 2022-12-23
  • 2021-10-09
  • 2021-08-13
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-02-09
  • 2021-10-04
  • 2021-12-02
  • 2022-12-23
  • 2021-09-27
  • 2022-01-13
相关资源
相似解决方案