[JDBC] 2020.12.28. day_45 VO, JDBC 연동 클래스 작성해보기

2020. 12. 28. 19:15Web_Back-end/JDBC

 

※ JDBC연동을 위해 클래스를 작성해보자 : 예시 - cp_dept table


◎ VO 란 ? 

VO
Value Object
값을 저장하고, 사용할 목적으로 제작하는 클래스 ( 변경 X )
값을 변경하지 않고 그대로 사용한다
여러개의 분할된 값을 묶어서 관리하기 위해 작성
분할된 값이 묶여서 어떤 값으로 사용되는지 가독성 향상
DTO(Data Transfer Object) : 값변경이 가능, 객체간의 값을 전달하기 위한 객체

○ VO 작성규칙 

Framework 사용 X 매개변수 있는 생성자를 만든다 
(개발자가 VO를 생성하여 값을 넣어준다)
Framework 사용 O 매개변수 있는 생성자를 만들지 않는다
(Framework에서 VO를 생성하여 setter method를 호출하고 값을 넣어준다)
1. 클래스명에 VO를 붙여준다

public class 클래스명VO{
2-1. instance 변수를 선언

   private int deptno;
   private String dname;
   private String loc;

2-2. setter, getter 생성
setter method : 값을 설정하기 위한 목적
getter method : 값을 얻기 위한 목적

   public void set변수명(매개변수){

   }
   public 반환형 get변수명(){

   }
dept table로 연습해보기

public class TestDeptVO{
   private int deptno;
   private String dname;
   private String loc;

   public void setDeptno(int deptno){
      this.deptno = deptno;
   }
   public int getDeptno(){
      return deptno;
   }
...

 

※ _ insert, update, delete

 

※ _ select 조회

String sql = "select deptno, dname, loc from dept";

ResultSet rs = stmt.executeQuery(sql); //rs가 cursor의 제어권을 담는다

int deptno = 0;
String dname = "";
String loc ="";

while( rs.next() ){ //next() : pointer(cursor) 의 다음(아래)에 레코드가 존재하는지 반환
   deptno = rs.getInt("deptno"); //getInt() : 오라클의 데이터형을 java의 int로 가져온다
   dname = rs.getString("dname"); //getString() : 오라클의 데이터형을 java의 String으로 가져온다
   loc = rs.getString("loc");
}