mybatisplus实现通过用户名判断不存在则新增
时间: 2024-09-25 19:14:58 浏览: 133
在MyBatisPlus中,如果你想要实现通过用户名判断是否已存在,如果不存在则新增的功能,可以结合Repository和Service层来操作。首先,假设你有一个User实体类,其中包含username字段。
1. **Repository层**(Mapper接口):
```java
public interface UserMapper {
@Insert("INSERT INTO user (username) VALUES (?)")
int insertIfNotExists(String username);
@Select("SELECT COUNT(1) FROM user WHERE username = #{username}")
Integer existsByUsername(String username);
}
```
这里我们定义了两个方法,`insertIfNotExists`用于尝试插入新的用户,如果查到该用户名已存在,则不会执行插入操作。另外,`existsByUsername`用于检查用户名是否已存在。
2. **Service层**:
```java
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public void createUser(User user) {
if (!userMapper.existsByUsername(user.getUsername())) {
userMapper.insertIfNotExists(user.getUsername());
}
}
}
```
在这个Service中,我们首先检查用户名是否存在,如果不存在,就调用Mapper的`insertIfNotExists`方法创建新用户。
阅读全文
相关推荐
















