动态更新的sql语句书写示例 :
7.0 请求示例 :
{
"id": 44,
"createBy": "薛衎22",
"updateBy": null,
"updateTime": null,
"description": "基础资源组件",
"name": null,
"parentId": null,
"type": 1,
"httpMethod": null,
"sortOrder": null,
"component": "动态更新2",
"url": null,
"title": null,
"icon": null,
"level": 3,
"buttonType": null,
"status": 1,
"children": null,
"buttonTypes": null,
"expand": true,
"checked": false
}
7.1 controller及入口示例:
@PostMapping("/resource/update/selective")
public EosResponse updateResourceInfoBySelective(@RequestBody Resource resource , HttpServletRequest request){
try {
String token = JwtTokenUtils.getTokenFromHttpRequest(request);
StaffBaseInfo baseInfo = JwtTokenUtils.getStaffBaseInfoFromToken(token);
Boolean result = resourceService.updateResourceInfoBySelective(baseInfo , resource);
if(result){
return new EosResponse().success("更新资源数据数据成功");
}
return new EosResponse().fail("更新资源数据失败");
} catch (Exception e) {
e.printStackTrace();
return new EosResponse().fail("更新资源数据失败:"+e.getMessage());
}
}
7.2 service层调用:
@Override
public Boolean updateResourceInfoBySelective(StaffBaseInfo baseInfo , Resource resource) {
resource.setUpdateTime(new Date());
resource.setCreateBy(baseInfo.getStaffCode());
return resourceMapper.updateResourceInfoBySelective(resource);
}
7.3 Mapper层书写动态update的sql语句:
注意update语句里的逗号需要根据自己的表合理安排位置 (最后一个参数无逗号) :
update tf_m_resource SET create_by = 'hh' , update_time = CURRENT_TIMESTAMP , description = 222 , type = 1 , level = 1 , status = 1 where id = 62:
@Update({"<script>",
"update tf_m_resource",
"<set>",
"<if test='createBy != null'>",
"create_by = #{createBy} ,",
"</if>",
"<if test='createTime != null'>",
"create_time = #{createTime} ,",
"</if>",
"<if test='updateTime != null'>",
"update_time = #{updateTime} ,",
"</if>",
"<if test='description != null'>",
"description = #{description} ,",
"</if>",
"<if test='name != null'>",
"name = #{name} ,",
"</if>",
"<if test='parentId != null'>",
"parent_id = #{parentId} ,",
"</if>",
"<if test='type != null'>",
"type = #{type} ,",
"</if>",
"<if test='httpMethod != null'>",
"http_method = #{httpMethod} ,",
"</if>",
"<if test='sortOrder != null'>",
"sort_order = #{sortOrder} ,",
"</if>",
"<if test='url != null'>",
"url = #{url} ,",
"</if>",
"<if test='title != null'>",
"title = #{title} ,",
"</if>",
"<if test='icon != null'>",
"icon = #{icon} ," ,
"</if>",
"<if test='level != null'>",
"level = #{level} ,",
"</if>",
"<if test='buttonTypes != null'>",
"button_type = #{buttonTypes} ,",
"</if>",
"<if test='status != null'>",
"status = #{status} ,",
"</if>",
"update_by = CURRENT_TIMESTAMP ",
"</set>",
"where id = #{id}",
"</script>"})
Boolean updateResourceInfoBySelective(Resource resource);
版权声明:本文为qq_24005787原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。