5일차 목표
오늘은 로그인 한 회원 정보 확인 및 수정 작업, 그리고 회원이 로그인 했을 때 그 값을 Mybatis에서 조회했을 때 조회한 데이터가 있을 때는 true, 없을 때는 false라는 값이 나올 수 있는 지 공부해보자
1. true 값 받아오기
Mybatis에서 해당 값을 받아 올 수 있는 방법은 있지만
생각을 하다 보니 count 값을 이용해서 받아오는 방법을 생각해 보았다
Mybatis
<!-- idcheck -->
<select id="idcheck" resultType="int">
select * count(*) from test_user where id=#{id}
</select>
현재 필요한 기능은 id체크를 해야함으로써 만약 조회할 아이디가 존재하면 count가 1이 나올 것이고 없으면 0이 나올 것임을 알 수 있다
Contoroller
@PostMapping("/idcheck")
public String idCheck(UserVO vo,Model model) {
int result = service.idcheck(vo);
model.addAttribute("result",result);
return "/user/joinMember";
}
model에 id 체크를 해서 나온 결과 result를 넣어 줘서 1인지 0인지 확인해보도록하자
0이면 아이디가 사용가능합니다
1이면 중복 된 아이디가 존재합니다라는 문구가 나와야한다
jsp
<h3>회원가입</h3>
<form action="/user/joinMember" method="post">
<label>아이디</label><br>
<input type="text" name="id" id="id"><br>
<button type="button" onclick="id_check()">중복 확인</button>
<br>
<label>비밀번호</label><br>
<input type="text" name="password" id="password"><br>
<br>
<label>이름</label><br>
<input type="text" name="name" id="name"><br>
<br>
<select name="phone1" id="phone1">
<option value="010">010</option>
<option value="011">011</option>
<option value="016">016</option>
</select> -
<input type="text" name="phone2" id="phone2"> -
<input type="text" name="phone3" id="phone3">
<br><br>
<input type="submit" value="전송">
<input type="reset" value="초기화">
</form>
<script>
function id_check(){
}
</script>
</body>
</html>
jsp에서 onclick을 통해 중복확인을 할 수 있다
하지만 Controller에 postmapping 값이 /idcheck 이므로 무언가 데이터를 url /user/idcheck로 이동해야만 controller가 작동하는데
그렇게 될 경우
회원가입 페이지에서 만약 아이디말고 비밀번호 같은 것들을 미리 입력해뒀을 때
아래의 데이터가 새로고침 되어서 없어지게 된다
해당 문제를 해결하기 위해서 필요한게 ajax라는 기능이라고 한다
ajax는 실시간으로 조회 수정이 가능하도록 하는 기능이라고 간단하게 설명할 수 있다
자세한 것은 내일 공부해보도록 하자