是的,在 MyBatis 中,执行完插入、更新、删除等写操作后,需要手动提交事务才能将操作生效到数据库中。通常情况下,您可以通过调用 `SqlSession` 对象的 `commit()` 方法来提交事务,如下所示:
```java
sqlSession.commit();
```
在您的代码中,如果执行完插入操作后,您需要将更改提交到数据库中,您可以在相应的地方调用 `commit()` 方法。例如,在 `UserRegisterService` 类的 `searchUser` 方法中,在插入操作执行成功后,您可以添加 `sqlSession.commit()` 来提交事务,确保插入操作生效到数据库中。示例如下:
```java
public int searchUser(String username, String password, String phone) {
SqlSession sqlSession = factory.openSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = mapper.selectRegister(username);
if (ObjectUtil.isEmpty(user)) {
long id = generateUniqueId();
int i = mapper.insertUser(id, username, password, phone);
sqlSession.commit(); // 提交事务
sqlSession.close(); // 关闭会话
if (i == 1) {
return 1;
}
}
return 0;
}
```
确保在适当的时候提交事务可以保证您的写操作生效到数据库中。