上个小节我们实现了新增罚款类型这个功能,那么按照CRUD的顺序,本小节我们要做修改罚款类型信息的功能。
一、编写持久层代码
在修改数据的时候,弹窗页面要加载已有的数据,所以我们要编写查询语句,根据ID查询罚款类型记录,然后就是用于修改记录的UPDATE语句。
在TbAmectTypeDao.xml
文件中,定义SQL语句。
<select id="searchById" parameterType="int" resultType="HashMap">
SELECT `type`,
money,
systemic
FROM tb_amect_type
WHERE id = #{id}
</select>
<update id="update" parameterType="HashMap">
UPDATE tb_amect_type
SET type = #{type},
money = #{money}
WHERE id = #{id}
</update>
在TbAmectTypeDao.java
接口中,定义DAO方法。
public interface TbAmectTypeDao {
……
public HashMap searchById(int id);
public int update(HashMap param);
}
二、编写业务层代码
在AmectTypeService.java
接口中,声明抽象方法。
public interface AmectTypeService {
……
public HashMap searchById(int id);
public int update(HashMap param);
}
在AmectTypeServiceImpl.java
类中,实现抽象方法。
public class AmectTypeServiceImpl implements AmectTypeService {
……
@Override
public HashMap searchById(int id) {
HashMap map = amectTypeDao.searchById(id);
return map;
}
@Override
public int update(HashMap param) {
int rows = amectTypeDao.update(param);
return rows;
}
}
三、编写Web层代码
创建SearchAmectTypeByIdForm.java
类,封装Ajax提交的数据。
@Data
@Schema(description = "根据ID查找罚款类型表单")
public class SearchAmectTypeByIdForm {
@NotNull(message = "id不能为空")
@Min(value = 1, message = "id不能小于1")
@Schema(description = "罚款类型ID")
private Integer id;
}
创建UpdateAmectTypeByIdForm.java
类,封装Ajax提交的数据。
@Data
@Schema(description = "更新罚款类型数据表单")
public class UpdateAmectTypeByIdForm {
@NotNull(message = "id不能为空")
@Min(value = 1, message = "id不能小于1")
@Schema(description = "罚款类型ID")
private Integer id;
@NotBlank(message = "type不能为空")
@Pattern(regexp = "^[a-zA-Z0-9\\u4e00-\\u9fa5]{2,10}$", message = "type内容不正确")
@Schema(description = "违纪类型")
private String type;
@NotBlank(message = "money不能为空")
@Pattern(regexp = "(^[1-9]([0-9]+)?(\\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\\.[0-9]([0-9])?$)", message = "money内容不正确")
@Schema(description = "罚款金额")
private String money;
}
在AmectTypeController.java
类中,声明Web方法,利用Swagger测试Web方法?
public class AmectTypeController {
……
@PostMapping("/searchById")
@Operation(summary = "根据ID查找罚款类型")
@SaCheckPermission(value = {"ROOT"})
public R searchById(@Valid @RequestBody SearchAmectTypeByIdForm form) {
HashMap map = amectTypeService.searchById(form.getId());
return R.ok(map);
}
@PostMapping("/update")
@Operation(summary = "更新罚款类型")
@SaCheckPermission(value = {"ROOT"})
public R update(@Valid @RequestBody UpdateAmectTypeByIdForm form) {
HashMap param=JSONUtil.parse(form).toBean(HashMap.class);
int rows = amectTypeService.update(param);
return R.ok().put("rows", rows);
}
}