사용자 이름으로 가용성을 확인해야합니다. 즉, 각 사용자 이름은 고유해야하며 이미 존재하는 경우 "이 사용자 이름은 이미 사용 중입니다"라는 메시지를 표시해야합니다. 동일한 사용자 이름. 자동 (쿼리 생성 후 메시지 표시) 또는 사용 가능 여부를 확인하는 단추를 작성한 다음 메시지를 표시 할 수 있습니다. 이 간단한 절차에 대해 명확한 생각이 없습니다. 이 경우 내가해야 할 일은 무엇입니까? 소스 코드 그래서 같다 :사용자 등록에서 데이터베이스의 고유 한 값 제약 조건 확인
Person 클래스
@Entity
@Table(name="person")
public class Person {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE)
@Column(name="id")
private int id;
@Column(name="firtsname")
private String first_name;
@Column(name="lastname")
private String last_name;
@Column(name="username", unique=true)
private String user_name;
@Column(name="password")
private String password;
// Getters and Setters
}
PersonDao >> PersonDaoImpl
@Repository("personDao")
public class PersonDaoImpl implements PersonDao {
@Autowired
private SessionFactory sessionFactory;
@Override
public void createPerson(Person person) {
sessionFactory.getCurrentSession().saveOrUpdate(person);
}
@Override
public Person updatePerson(int id) {
return (Person) sessionFactory.getCurrentSession().get(Person.class, id);
}
@Override
public void deletePerson(int id) {
sessionFactory.getCurrentSession().createQuery("DELETE FROM Person WHERE id="+id).executeUpdate();
}
@Override
@SuppressWarnings("unchecked")
public List<Person> listAllPersons() {
return (List<Person>) sessionFactory.getCurrentSession().createCriteria(Person.class).list();
}
}
등록 신청서 (registration.jsp)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form:form method="POST" action="/userform/saveUser.html">
<p>
<form:input type="hidden" readonly="true" path="id" />
</p>
<p>
<form:label path="first_name" >First name:</form:label>
<form:input path="first_name" />
</p>
<p>
<form:label path="last_name">Last name:</form:label>
<form:input path="last_name" />
</p>
<p>
<form:label path="user_name">Username:</form:label>
<form:input path="user_name" />
</p>
<p>
<form:label path="password">Password:</form:label>
<form:input path="password" />
</p>
<p>
<button type="reset" value="Reset">Reset</button>
<button type="submit" value="Save">Save</button>
</p>
</form:form>
</body>
</html>
고맙습니다.
다른 솔루션에도 하나의 선택 및 삽입이 포함되어 있습니다. 일반적으로 선택이 무거운 작업으로 간주됩니다. 선택시 절약 할 수 있습니다. – nightograph
@EJP 답변이 좋게 들립니다. 소스 코드로 설명해 주시겠습니까? 내 사용자 등록 양식 (registrarion.jsp)에서 ... 데이터베이스에 같은 이름의 사용자 이름이 이미 있는지 확인할 수 있습니까? – user3043914