1 분 소요

안녕하세요. Nerd-Lee입니다.
공부 내용은, 인프런 박매일님의 [NarP Series]MVC 프레임워크는 내 손에[나프1탄] 을 참고하였습니다.
MVC 1단계인, Servlet 환경으로만 만들어보고, MVC 2단계로 넘어가고
나중에는 Spring Framework를 사용하는 방식의 강의입니다.
MVC 1단계는, Controller + Model 만을 사용하는 방식입니다.


1. 회원 저장 메서드 생성

  • memberInsert 라는 이름을 가진 메서드를 만들고, 매개변수를 MemberVO 클래스의 변수를 이용해서
    받아온 값을 저장해주면 된다. 일일히 변수에 대한 데이터값을 파라미터로 받지 않고 말이다.
  • 그럼 받아온 값을, insert 쿼리로 데이터베이스에 저장하면 된다.
  • 메서드 안에 String SQL = "insert into member(id, pass, name, age, email, phone) values(?,?,?,?,?,?)"; 라는 쿼리문을 만들어준다.
  • 쿼리문에서, ?를 파라미터라고 한다.
  • getConnect 함수를 호출해서, 데이터베이스를 연결할 수 있게 Connection 객체를 만들어주고
  • PreparedStatement 형 변수를 이용해서, SQL 문장을 전송할 수 있는 객체를 생성해서, 미리 컴파일을 시킨다.
  • 미리 컴파일을 시키는 이유는 속도가 빠르기 때문이다.
  • 이제 ? 로 된 쿼리 파라미터에 값만 추가해주고, 데이터베이스에 전송시키면 된다.
  • 코드는 다음과 같다.
public int memberInsert(MemberVO vo) {
		// 1. ? (파라미터 ) 순서는 1 2 3 4 5 6 으로, 0번이 아닌 1번으로 시작한다.
		String SQL = "insert into member(id, password, name, age, email, phone) values(?,?,?,?,?,?)";
		int success = -1;
		
		// 2. Connection 객체 만들기
		getConnect();
		
		// 3. SQL 문장을 전송하는 객체 생성하기
		try {
			ps = conn.prepareStatement(SQL);		// 미리 컴파일을 시킨다. ( 속도가 빠르다. )
			
			// 4. 파라미터에 값 추가하기
			ps.setString(1, vo.getId());
			ps.setString(2, vo.getPassword());
			ps.setString(3, vo.getName());
			ps.setInt(4, vo.getAge());
			ps.setString(5, vo.getEmail());
			ps.setString(6, vo.getPhone());
			
			// 5. 전송
			success = ps.executeUpdate();		// executeUpdate는, 0 or 1이 반환되는데. 반환 값이 0이면 전송이 실패된것이고 1이면 전송이 잘 된 것으로 처리가 된다.
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return success;
	}

2. Controller에서, 회원저장 메서드 실행하기

		PrintWriter out = response.getWriter();
		
		// Model과 연동하기
		MemberDAO dao = new MemberDAO();
		int success = dao.memberInsert(vo);
		if(success > 0) {
			// 가입 성공시
			out.println("insert success!");
		}
		else {
			// 가입 실패시 예외객체를 만들어서 WAS(톰캣서버) 에게 던진다.
			throw new ServletException("not insert!");
		}

3. MySQL 실행하기

  • 이전 공부내용에서, MySQL 실행하듯이 실행하고 서버를 실행해서 데이터들을 입력하고 가입버튼을 클릭해보자.
    insert success! 라는 내용이 출력되면, sql 파일로 쿼리를 실행해서 데이터가 잘 들어갔는 지 확인하자. 난 잘됐다.

4. SQL Results 메뉴에 plug-in error가 발생할 경우 해결법

  • 이클립스를 잠시 닫는다.
  • 프로젝트가 들어있는 상위 폴더로 가서, .metadata 를 클릭한다.
  • org.eclipse.datatools.sqltools.result 폴더 안에 들어가서 results라는 파일을 지워주고 실행하면 해결된다.


이 글이 도움이 되셨다면 댓글 부탁드립니다^^
다음 글로 찾아오겠습니다!