본문 바로가기
개발/세상에서 가장 간단한 로그인

3-1. Dao, Vo로 JDBC 기본 구성하기

by 하모예 2020. 10. 23.

(이 글은 기본적으로 Eclipse, Sql Developer가 설치, 인코딩 처리, 서버 등록이 완료된 상태를 가정하고 작성되었습니다.)

  • 사용 기술 : Java, JSP, Oracle, Bootstrap, CSS, HTML
  • 오늘의 기술 : JAVA
  • 사용 툴 : Eclipse

안녕하세요 하모예입니다. 

오늘은 본격적으로 JDBC로 넘어가기 전에 Dao, (Service), Vo를 만들어서 기반을 다져보겠습니다. 

먼저 login.model.vo패키지에서 우클릭을 해서 [New] - [Class]로 Member 클래스를 만들어주세요.

클래스 중괄호 안에 userId, userPw 변수를 만들어주세요. 

package login.model.vo;

public class Member {
	
	private String userId;
	private String userPw;
	
}

그 밑에 기본생성자, 매개변수가 있는 생성자, getter, setter, toString을 만들어주세요. 

단축키는 다음과 같습니다. 

 

  1. 기본생성자 : Ctrl + 스페이스 + 엔터
  2. 매개변수가 있는 생성자 : Alt + Shift + S > O > 엔터
  3. Getter, Setter : Alt + Shift + S > R > Alt + A > Alt + S > 엔터
  4. toString : Alt + Shift + S > S

Member 클래스는 아래와 같습니다. 

최상단에 접근제한자 private으로 userId와 userPw를 선언해줍니다.

접근제한자는 public, private, default, protected가 있는데 이중에서 주로 public과 private을 많이 사용하게 됩니다. 

public은 제약없이 모든 클래스, 패키지에서 접근이 가능하며,

private은 자기 자신의 클래스 안에서만 접근이 가능하게 합니다. 

package login.model.vo;

public class Member {
	
	private String userId;
	private String userPw;
	
	public Member() {
		// TODO Auto-generated constructor stub
	}

	public Member(String userId, String userPw) {
		super();
		this.userId = userId;
		this.userPw = userPw;
	}

	public String getUserId() {
		return userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}

	public String getUserPw() {
		return userPw;
	}

	public void setUserPw(String userPw) {
		this.userPw = userPw;
	}

	@Override
	public String toString() {
		return "Member [userId=" + userId + ", userPw=" + userPw + "]";
	}
	
}

 

저는 처음 공부를 시작했을때 public과 private을 쓰는 이유에 대해서 정말 답답했습니다.

어쩌피 setUserPw, getUserPw와 같이 getter, setter를 public으로 써서 다른 곳에서 접근가능하게 하는데

왜 굳이 변수를 private을 선언해서 귀찮게 할까? 하는 생각이 들었죠. 

지금 팀단위 프로젝트를 몇번 해보니 굳이 public을 쓰지 않고 private를 쓰는 이유는,

실제로 업무환경에서 내가 모든 기능을 개발하지 않게 때문이지 않을까 하는 정도의 생각을 하게 되었습니다. 

말하자면 내가 만든 클래스를 다른 사람이 써도 그 본질을 해치지 않기 위해서랄까요? 

public과 private에 대한 이야기는 포스팅을 따로 만들어서 계속하도록 하겠습니다.

 

vo를 만들어 준 다음 이제 dao를 만들어주겠습니다. 

JDBCTemplate을 만들어서 close나 commit, rollback작업을 쉽게할까 하다가 

그렇게 되면 세상에서 두번째로 쉬운 로그인이 될거 같아서

dao에서 oracle 서버와 연결해서 작업을 하기로 결정했습니다. 

다음 포스팅에서 뵙겠습니다.

댓글