使用springboot+mybatisplus实现数据禁用,启用,删除的接口的具体代码
时间: 2023-06-04 20:02:27 浏览: 632
好的,以下是使用Spring Boot和MyBatis Plus实现数据禁用、启用和删除接口的代码:
首先,我们需要在我们的实体类中添加一个字段用于表示数据的状态:
```java
public class User {
@TableId(type = IdType.AUTO)
private Long id;
private String name;
private Integer age;
private String email;
private Integer status; // 1表示启用,0表示禁用
// 省略getter和setter
}
```
然后,我们需要创建一个Mapper接口,定义对用户表进行禁用、启用和删除的操作:
```java
@Mapper
public interface UserMapper extends BaseMapper<User> {
/**
* 禁用用户
*
* @param id 用户ID
* @return 影响行数
*/
int disableUserById(@Param("id") Long id);
/**
* 启用用户
*
* @param id 用户ID
* @return 影响行数
*/
int enableUserById(@Param("id") Long id);
/**
* 删除用户
*
* @param id 用户ID
* @return 影响行数
*/
int deleteUserById(@Param("id") Long id);
}
```
在这个Mapper接口中,我们定义了三个方法:disableUserById()、enableUserById()和deleteUserById(),分别用于禁用、启用和删除用户。这些方法的实现可以利用MyBatis Plus提供的通用Mapper来实现:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
// 启用用户
@Override
public int enableUserById(Long id) {
User user = new User();
user.setId(id);
user.setStatus(1);
return userMapper.updateById(user);
}
// 禁用用户
@Override
public int disableUserById(Long id) {
User user = new User();
user.setId(id);
user.setStatus(0);
return userMapper.updateById(user);
}
// 删除用户
@Override
public int deleteUserById(Long id) {
return userMapper.deleteById(id);
}
}
```
在这个Service实现中,我们利用updateById()方法和deleteById()方法来更新和删除用户数据。
最后,我们需要在Controller中定义禁用、启用和删除用户的接口:
```java
@RestController
@RequestMapping("/api/users")
public class UserController {
@Autowired
private UserService userService;
// 启用用户
@PutMapping("/{id}/enable")
public ResponseEntity<String> enableUser(@PathVariable("id") Long id) {
int rows = userService.enableUserById(id);
if (rows > 0) {
return ResponseEntity.ok("用户已启用");
} else {
return ResponseEntity.badRequest().body("启用用户失败");
}
}
// 禁用用户
@PutMapping("/{id}/disable")
public ResponseEntity<String> disableUser(@PathVariable("id") Long id) {
int rows = userService.disableUserById(id);
if (rows > 0) {
return ResponseEntity.ok("用户已禁用");
} else {
return ResponseEntity.badRequest().body("禁用用户失败");
}
}
// 删除用户
@DeleteMapping("/{id}")
public ResponseEntity<String> deleteUser(@PathVariable("id") Long id) {
int rows = userService.deleteUserById(id);
if (rows > 0) {
return ResponseEntity.ok("用户已删除");
} else {
return ResponseEntity.badRequest().body("删除用户失败");
}
}
}
```
这些接口利用@RestController注解定义,并指定@RequestMapping的基础路径为/api/users。我们定义了三个接口:enableUser()、disableUser()和deleteUser(),分别用于启用、禁用和删除用户。这些接口利用ResponseEntity来返回操作结果。
以上就是使用Spring Boot和MyBatis Plus实现数据禁用、启用和删除接口的代码。希望对你有所帮助!
阅读全文