Jump to content

poczatkujacy

Members
  • Content Count

    1
  • Joined

  • Last visited

    Never

Community Reputation

0 Neutral

About poczatkujacy

  • Rank
    Newbie
  1. Witam ,mam następujący problem. Robie aplikacje w Springu i jestem w trakcie tworzenie rejestracji. Jak sprawdzić czy dany rekord istnieje w bazie danych i by blokowalo mi jego dodanie ? Tak aby metoda nie wiem zwracala np null jestli nie ma takiego uzytkownika albo false.Jeśli chodzi o zapytania to probowalem już kilka rozdzajow nawet z criteriami ale nadal jakiś problem. Porownywalem to co zwraca ta metoda w klasie processform,ale zamiast robic to co chcialem,to dodaje tylko duplikaty do bazy. public class RegisterServiceImpl implements RegisterService { @Autowired RegisterService dao; protected final Logger log = LoggerFactory.getLogger(getClass()); protected SessionFactory sessionFactory; public void setSessionFactory(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } public Register getUser(Register register) { return (Register)sessionFactory.getCurrentSession().get(Register.class.getName(), register.getUsername()); } public void add(Register user){ sessionFactory.getCurrentSession().saveOrUpdate(user); sessionFactory.getCurrentSession().flush(); } public boolean exists (Register user) { Query query = sessionFactory.getCurrentSession(). createQuery("select 1 from Register u where u.username =:username"); query.setString("username", user.getUsername() ); return (query.uniqueResult() != null); } @RequestMapping(value="/register.html", method=RequestMethod.POST) public String processForm(Model model, @ModelAttribute("register") Register user, BindingResult result,HttpSession session){ validator.validate(user, result); List<FieldError> errors =result.getFieldErrors(); for (FieldError objectError : errors) { System.out.println(objectError.getRejectedValue()); } if(result.hasErrors()){ return "register"; } if(dao.exists(user)==true) { return "registeFail"; } else { dao.add(user); return "registerInfo"; } }
×
×
  • Create New...