SPING/Spring 이용하기

[Spring] Spring Boot 아이디 중복 확인하기

h0-0cat 2023. 8. 7. 13:38
728x90

 

Spring Boot 아이디 중복 확인하기

project 

spring Boot Maven Project 생성 

 

 

추가 

 

project 생성후  pom.xml 확인

(라이브러리가 잘 들어갔는지 확인)

 

 

package 만들기

application.properties에 추가

xml 파일을 mappers라는 폴더에서 사용하겠다. 

 

mappers 폴더 생성

 

 


 

Oracle

USER_H Table 생성 

CREATE SEQUENCE idx_seq;
CREATE TABLE USER_H(
	 idx 	     		NUMBER 			PRIMARY KEY  
	,USER_ID 		VARCHAR2(20) 		NOT NULL
	,PASSWORD 		VARCHAR2(100) 		NOT NULL
	,USER_NAME 		VARCHAR2(50) 		NOT NULL
	,USER_PHONE 		VARCHAR2(12)
	,USER_EMAIL 		VARCHAR2(20)
);

생성 후 조회 

SELECT * FROM USER_H;

Table 생성 조회 후 

 

 

UserVO

@Data
public class UserVO {
	private int    idx;
	private String userId;
	private String password;
	private String userName;
	private String userPhone;
	private String userEmail;
}

 

mappers/userMapper.xml

select sql문 작성

	<select id="userCheck" parameterType="UserVO" resultType="UserVO">
		SELECT 
			idx
			,USER_ID
			,PASSWORD
			FROM USER_H
			WHERE USER_ID = #{userId}
	</select>

insert sql문 작성

 

	<insert id="insertUser" parameterType="UserVO">
		INSERT INTO USER_H(
			idx
			,USER_ID
			,PASSWORD
			,USER_NAME 
			,USER_PHONE
			,USER_EMAIL
		)values(
			idx_seq.nextval
			,#{userId}
			,#{password}
			,#{userName}
			,#{iserPhone}
			,#{userEmail}
		)
	</insert>

 

UserDAO

@Mapper
public interface UserDAO {
	int insertUser(UserVO vo);
}

 

UserService

public interface UserService {
	int insertUser(UserVO vo);
}

 

UserServiceImpl

@Service("userService")
public class UserServiceImpl implements UserService{
	
	@Autowired 
	private UserDAO userDAO;

	public int insertUser(UserVO vo) {
		return userDAO.insertUser(vo);
	}
}

 

UserController

@Controller
public class UserController {

	@Autowired
	private UserService userService;
	
	@RequestMapping(value = {"/","/inserUser"})
	public String insertUser() {
		return "insertUser";
	}
}

 

insertUser view 생성

insertUser.html

 

공백 체크 

		let userId = $(this).val();
			// alert(userid);
			// 공백 입력 체크
			if(userId.indexOf(' ')>=0){
				alert('아이디에는 공백을 포함할 수 없어요!');
				$(this).val("");
				$(this).focus();
				return;
			}

 

아이디 글자수 체크 

function idCheck(){
	if($("#userId").val().length < 6){
		$("#idMsg").html("아이디는 6~20 글자만 입력 가능합니다.").css('color','red');
		return;
	}

 

메세지 

success : function(result) { // 결과 성공 콜백함수
			if(result.cd == 1){
				$("#idMsg").html("사용가능한 아이디입니다.").css('color','blue');
			}else{
				$("#idMsg").html("이미 사용중인 아이디입니다.").css('color','red');
			}

 

아이디 폼

	<div>
		<label class="join">아이디</label>
		<span id="idMsg" style="font-size: 8pt;"></span><br/>
		<input id="userId" type="text" name="userId" placeholder="아이디입력 (6~20자)"size="30"/><br/>
	</div>

 

 

실행 시

 

공백 

 

사용중인 아이디 입력 시 

 

 

사용 가능한 아이디 입력 시 

 

 

 

728x90