아이디 중복 검사 기능 추가

- join.jsp 코드 추가
	- <script>태그내에 메서드 추가
- MemberController.java 코드 추가
	- 중복아이디 검사 메서드 추가
- MemberService.java / MemberServiceImpl.java 코드추가
- MemberMapper.java / MemberMapper.xml 코드 추가
- MemberMapperTests.java 코드 추가
This commit is contained in:
SeoJin Kim
2020-08-25 00:32:32 +09:00
parent 32b7c50539
commit 7f293a6cee
20 changed files with 232 additions and 11 deletions

View File

@@ -6,6 +6,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.vam.model.MemberVO;
import com.vam.service.MemberService;
@@ -50,4 +51,29 @@ public class MemberController {
}
// 아이디 중복 검사
@RequestMapping(value = "/memberIdChk", method = RequestMethod.POST)
@ResponseBody
public String memberIdChkPOST(String memberId) throws Exception{
/* logger.info("memberIdChk() 진입"); */
logger.info("memberIdChk() 진입");
int result = memberservice.idCheck(memberId);
logger.info("결과값 = " + result);
if(result != 0) {
return "fail"; // 중복 아이디가 존재
} else {
return "success"; // 중복 아이디 x
}
} // memberIdChkPOST() 종료
}

View File

@@ -4,7 +4,10 @@ import com.vam.model.MemberVO;
public interface MemberMapper {
//회원가입
// 회원가입
public void memberJoin(MemberVO member);
// 아이디 중복 검사
public int idCheck(String memberId);
}

View File

@@ -4,7 +4,10 @@ import com.vam.model.MemberVO;
public interface MemberService {
//회원가입
// 회원가입
public void memberJoin(MemberVO member) throws Exception;
// 아이디 중복 검사
public int idCheck(String memberId) throws Exception;
}

View File

@@ -12,12 +12,20 @@ public class MemberServiceImpl implements MemberService{
@Autowired
MemberMapper membermapper;
// 회원가입
@Override
public void memberJoin(MemberVO member) throws Exception {
membermapper.memberJoin(member);
}
// 아이디 중복 검사
@Override
public int idCheck(String memberId) throws Exception {
return membermapper.idCheck(memberId);
}

View File

@@ -3,8 +3,19 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.vam.mapper.MemberMapper">
<!-- 회원가입 -->
<insert id="memberJoin">
insert into book_member values(#{memberId}, #{memberPw}, #{memberName}, #{memberMail}, #{memberAddr1}, #{memberAddr2}, #{memberAddr3}, 0, sysdate, 100000, 5000 )
</insert>
<!-- 아이디 중복검사 -->
<select id="idCheck" resultType="int">
select count(*) from book_member where memberId = #{memberId}
</select>
</mapper>

View File

@@ -24,6 +24,8 @@
<div class="id_input_box">
<input class="id_input" name="memberId">
</div>
<span class="id_input_re_1">사용 가능한 아이디입니다.</span>
<span class="id_input_re_2">아이디가 이미 존재합니다.</span>
</div>
<div class="pw_wrap">
<div class="pw_name">비밀번호</div>
@@ -97,6 +99,32 @@ $(document).ready(function(){
});
});
//아이디 중복검사
$('.id_input').on("propertychange change keyup paste input", function(){
/* console.log("keyup 테스트"); */
var memberId = $('.id_input').val(); // .id_input에 입력되는 값
var data = {memberId : memberId} // '컨트롤에 넘길 데이터 이름' : '데이터(.id_input에 입력되는 값)'
$.ajax({
type : "post",
url : "/member/memberIdChk",
data : data,
success : function(result){
// console.log("성공 여부" + result);
if(result != 'fail'){
$('.id_input_re_1').css("display","inline-block");
$('.id_input_re_2').css("display", "none");
} else {
$('.id_input_re_2').css("display","inline-block");
$('.id_input_re_1').css("display", "none");
}
}// success 종료
}); // ajax 종료
});// function 종료
</script>
</body>

View File

@@ -48,6 +48,16 @@
border:none;
font-size:28px;
}
/* 중복아이디 존재하지 않는경우 */
.id_input_re_1{
color : green;
display : none;
}
/* 중복아이디 존재하는 경우 */
.id_input_re_2{
color : red;
display : none;
}
/* 비밀번호 영역 */
.pw_wrap{

View File

@@ -15,6 +15,7 @@ public class MemberMapperTests {
@Autowired
private MemberMapper membermapper; //MemberMapper.java 인터페이스 의존성 주입
/*
//회원가입 쿼리 테스트 메서드
@Test
public void memberJoin() throws Exception{
@@ -29,9 +30,17 @@ public class MemberMapperTests {
member.setMemberAddr3("test"); //회원 상세주소
membermapper.memberJoin(member); //쿼리 메서드 실행
}
*/
// 아이디 중복검사
@Test
public void memberIdChk() throws Exception{
String id = "admin"; // 존재하는 아이디
String id2 = "test123"; // 존재하지 않는 아이디
membermapper.idCheck(id);
membermapper.idCheck(id2);
}
}

View File

@@ -3,8 +3,19 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.vam.mapper.MemberMapper">
<!-- 회원가입 -->
<insert id="memberJoin">
insert into book_member values(#{memberId}, #{memberPw}, #{memberName}, #{memberMail}, #{memberAddr1}, #{memberAddr2}, #{memberAddr3}, 0, sysdate, 100000, 5000 )
</insert>
<!-- 아이디 중복검사 -->
<select id="idCheck" resultType="int">
select count(*) from book_member where memberId = #{memberId}
</select>
</mapper>

View File

@@ -1,5 +1,5 @@
#Generated by Maven Integration for Eclipse
#Thu Aug 13 11:22:05 KST 2020
#Mon Aug 24 22:24:15 KST 2020
version=1.0.0-BUILD-SNAPSHOT
groupId=com.vam
m2e.projectName=VamPa

View File

@@ -6,6 +6,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.vam.model.MemberVO;
import com.vam.service.MemberService;
@@ -50,4 +51,29 @@ public class MemberController {
}
// 아이디 중복 검사
@RequestMapping(value = "/memberIdChk", method = RequestMethod.POST)
@ResponseBody
public String memberIdChkPOST(String memberId) throws Exception{
/* logger.info("memberIdChk() 진입"); */
logger.info("memberIdChk() 진입");
int result = memberservice.idCheck(memberId);
logger.info("결과값 = " + result);
if(result != 0) {
return "fail"; // 중복 아이디가 존재
} else {
return "success"; // 중복 아이디 x
}
} // memberIdChkPOST() 종료
}

View File

@@ -4,7 +4,10 @@ import com.vam.model.MemberVO;
public interface MemberMapper {
//회원가입
// 회원가입
public void memberJoin(MemberVO member);
// 아이디 중복 검사
public int idCheck(String memberId);
}

View File

@@ -4,7 +4,10 @@ import com.vam.model.MemberVO;
public interface MemberService {
//회원가입
// 회원가입
public void memberJoin(MemberVO member) throws Exception;
// 아이디 중복 검사
public int idCheck(String memberId) throws Exception;
}

View File

@@ -12,7 +12,7 @@ public class MemberServiceImpl implements MemberService {
@Autowired
MemberMapper membermapper;
// 회원가입
@Override
public void memberJoin(MemberVO member) throws Exception {
@@ -20,4 +20,11 @@ public class MemberServiceImpl implements MemberService {
}
// 아이디 중복 검사
@Override
public int idCheck(String memberId) throws Exception {
return membermapper.idCheck(memberId);
}
}

View File

@@ -3,7 +3,19 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.vam.mapper.MemberMapper">
<!-- 회원가입 -->
<insert id="memberJoin">
insert into book_member values(#{memberId}, #{memberPw}, #{memberName}, #{memberMail}, #{memberAddr1}, #{memberAddr2}, #{memberAddr3}, 0, sysdate(), 100000, 5000 );
</insert>
<!-- 아이디 중복검사 -->
<select id="idCheck" resultType="int">
select count(*) from book_member where memberId = #{memberId}
</select>
</mapper>

View File

@@ -24,6 +24,8 @@
<div class="id_input_box">
<input class="id_input" name="memberId">
</div>
<span class="id_input_re_1">사용 가능한 아이디입니다.</span>
<span class="id_input_re_2">아이디가 이미 존재합니다.</span>
</div>
<div class="pw_wrap">
<div class="pw_name">비밀번호</div>
@@ -97,6 +99,32 @@ $(document).ready(function(){
});
});
//아이디 중복검사
$('.id_input').on("propertychange change keyup paste input", function(){
/* console.log("keyup 테스트"); */
var memberId = $('.id_input').val(); // .id_input에 입력되는 값
var data = {memberId : memberId} // '컨트롤에 넘길 데이터 이름' : '데이터(.id_input에 입력되는 값)'
$.ajax({
type : "post",
url : "/member/memberIdChk",
data : data,
success : function(result){
// console.log("성공 여부" + result);
if(result != 'fail'){
$('.id_input_re_1').css("display","inline-block");
$('.id_input_re_2').css("display", "none");
} else {
$('.id_input_re_2').css("display","inline-block");
$('.id_input_re_1').css("display", "none");
}
}// success 종료
}); // ajax 종료
});// function 종료
</script>
</body>

View File

@@ -48,6 +48,16 @@
border:none;
font-size:28px;
}
/* 중복아이디 존재하지 않는경우 */
.id_input_re_1{
color : green;
display : none;
}
/* 중복아이디 존재하는 경우 */
.id_input_re_2{
color : red;
display : none;
}
/* 비밀번호 영역 */
.pw_wrap{

View File

@@ -15,6 +15,7 @@ public class MemberMapperTests {
@Autowired
private MemberMapper membermapper; //MemberMapper.java 인터페이스 의존성 주입
/*
//회원가입 쿼리 테스트 메서드
@Test
public void memberJoin() throws Exception{
@@ -29,7 +30,17 @@ public class MemberMapperTests {
member.setMemberAddr3("test"); //회원 상세주소
membermapper.memberJoin(member); //쿼리 메서드 실행
}
*/
// 아이디 중복검사
@Test
public void memberIdChk() throws Exception{
String id = "admin"; // 존재하는 아이디
String id2 = "test123"; // 존재하지 않는 아이디
membermapper.idCheck(id);
membermapper.idCheck(id2);
}
}

View File

@@ -3,7 +3,19 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.vam.mapper.MemberMapper">
<!-- 회원가입 -->
<insert id="memberJoin">
insert into book_member values(#{memberId}, #{memberPw}, #{memberName}, #{memberMail}, #{memberAddr1}, #{memberAddr2}, #{memberAddr3}, 0, sysdate(), 100000, 5000 );
</insert>
<!-- 아이디 중복검사 -->
<select id="idCheck" resultType="int">
select count(*) from book_member where memberId = #{memberId}
</select>
</mapper>

View File

@@ -1,5 +1,5 @@
#Generated by Maven Integration for Eclipse
#Thu Aug 13 11:22:07 KST 2020
#Mon Aug 24 22:24:15 KST 2020
version=1.0.0-BUILD-SNAPSHOT
groupId=com.vam
m2e.projectName=VamPa_MySQL