新手初学javaweb项目,遇到的问题:
经排查发现UserServiceImpl里边 逻辑错误。根据用户名查询完对象后,调用了userDao.save(user)方法对数据进行了保存,后面再一次调用userDao.save(user)方法,显然这是不符合逻辑的,第一次执行完save方法就已经将数据存到数据库了,执行到第二次时发现数据库中已经存在该用户,引发MySQLIntegrityConstraintViolationException异常。
解决方法:删除第一次的save方法
public class UserServiceImpl implements UserService {
private UserDao userDao = new UserDaoImpl();
/**
* 注册用户
* */
@Override
public boolean regist(User user) {
//1.根据用户名查询用户对象
User u = userDao.findByUsername(user.getUsername());
if (u != null) {
//用户名存在,注册失败
return false;
}
//2.保存用户信息
// userDao.save(user); //先保存以后前台界面会没效果,但是数据会被存入到后台数据库,且后台报错