mybatisplus根据userId删除
时间: 2023-09-24 19:13:48 浏览: 36
假设你有一个名为 User 的实体类,其中包含 userId 字段,你可以使用 MyBatis-Plus 提供的 Wrapper 类来构建删除条件,示例代码如下:
```
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import your.package.name.mapper.UserMapper;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public void deleteUserById(Long userId) {
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("user_id", userId);
userMapper.delete(wrapper);
}
}
```
在上述示例中,我们使用 `QueryWrapper` 类构建了一个等值条件,即 `user_id = userId`,然后调用 `userMapper.delete(wrapper)` 方法执行删除操作。
相关问题
使用mybatisplus根据用户名查询用户id
假设用户表名为user,用户名字段名为username,用户id字段名为id,可以使用mybatisplus提供的Wrapper进行条件查询,示例代码如下:
```java
String username = "test";
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("username", username);
User user = userService.getOne(wrapper);
Long userId = user.getId();
```
其中,userService为自动生成的UserService接口,getOne方法可以查询符合条件的第一条记录,如果查询结果为空则返回null。通过查询结果获取用户id。
mybatisplus查询逻辑删除
标记为已删除的数据在 Mybatisplus 中是不会自动查询出来的,需要在查询时手动添加查询条件。
下面是一个示例 Mybatisplus 代码,其中 `@TableLogic` 注解用于标记逻辑删除字段,`eq` 方法用于添加条件:
```java
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Override
public List<User> getUserList() {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("status", 1).eq("is_deleted", 0); //添加查询条件
List<User> userList = baseMapper.selectList(queryWrapper);
return userList;
}
@Override
public void deleteUser(Long userId) {
User user = new User();
user.setUserId(userId);
user.setIsDeleted(1); //将 is_deleted 字段设置为 1 表示已删除
baseMapper.updateById(user);
}
//...
}
```
注意,`is_deleted` 字段不一定就是这个名字,需要根据实际情况进行调整。