1.db드라이버님께 커넥션 얻기
2.커넥션님으로부터 쿼리객체 얻기
3.쿼리에 세팅
4.쿼리 발송
5.(blocking)리절트셋 얻기 or 익셉션
6.감사한 마음으로 리절트셋님, 쿼리 객체님 , 커넥션 객체님 bye
7.내 app에서 편하게 쓸라면
List<object[]> records=new ArrayList<object[]>();
while(resultSet.next())
{    
int cols = resultSet.getMetaData().getColumnCount(); <--metadata가 포인트!(패킷다루기
 ) 예전에.. 전체 집합에서 특정 조건에 해당하는 집합을 리턴하는 메서드를 만들때.. 방법이 1.조건
에 맞는 집합의 크기를 센후, 리턴할 집합을 할당후, 다시 전체를 조회하면서 리턴할 집합에 값을
넣기, vs 2.내가 1이 신경질나서 연결리스트로 리턴할 집합을 할당후.. 걍 추가.. (당근 성능 떨어
짐.)  vs 3.위의 방법 처럼 메타 데이터 사용!  vs 4.db 내장 프로시저를 사용.. ex) select
count(column_pk) from tableName 해서 레코드의 수를 알아내고 그만큼 할당.. 퍼포먼스는
어떤지 모르겠음.
    Object[] arr = new Object[cols];
    for(int i=0; i<cols; i++){
      arr[i] = resultSet.getObject(i+1);
    }    
records.add(arr);
}

8.로우(레코드=인스턴스=Object[]) 단위로 쉽게 관리가 가능

9.감사한 마음으로 종료 bye





by givingsheart 2014. 1. 2. 09:26