数据库表中添加逻辑删除字段
delete_flag int DEFAULT NULL COMMENT ‘0:未删除 1:已删除’,
方式一
mybatis-plus:
mapper-locations: classpath*:mapper/*.xml
global-config:
db-config:
logic-delete-field: delete_flag #逻辑删除字段
logic-delete-value: 1 #逻辑删除值
logic-not-delete-value: 0 #逻辑未删除值
方式二
/**
* value = "0" 逻辑未删除值
* delval = "1" 逻辑删除值
*/
@TableLogic(value = "0",delval = "1")
@TableField(value = "delete_flag",fill = FieldFill.INSERT)
private int delete_flag;
IUserService
public interface IUserService extends IService<User> {
int deleteUser(int id);
}
UserServiceImpl
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService {
@Autowired
private UserMapper userMapper;
@Override
public int deleteUser(int id) {
return userMapper.deleteById(id);
}
}
Controller
@RestController
@RequestMapping("/api/user")
public class UserController {
@Autowired
private UserMapper userMapper;
@Autowired
private IUserService userService;
@RequestMapping("/add")
public Result add(@RequestBody User user){
int i = userMapper.insert(user);
return Result.success(i);
}
@RequestMapping("/del/{id}")
public Result deleteUserById(@PathVariable Integer id){
int i = userService.deleteUser(id);
return Result.success(i);
}
}
启用接口,新增一条用户数据

记录

删除记录

记录

数据库中delete_flag字段的值从0更新为1
数据库逻辑删除实现
本文介绍如何在数据库表中通过添加逻辑删除字段实现软删除功能。使用MyBatis Plus全局配置和注解两种方式设置逻辑删除字段,并展示了UserService接口及其实现类、控制器等代码示例。
839

被折叠的 条评论
为什么被折叠?



