|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectkr.co.hit.live.dao.JdbcDAO
kr.co.hit.live.dao.JdbcQueryDAO
public class JdbcQueryDAO
SqlQuery 기반의 DAO 클래스이다.
| Field Summary | |
|---|---|
protected String |
packagePath
DAO 클래스의 클래스패스상의 경로를 저장해 놓는다. |
static String |
SQL_PREFIX_KEY
SQL 문장의 맨 앞에 공통으로 넣을 내용을 지정하기 위한 설정 |
static String |
SQL_SUFFIX_KEY
SQL 문장의 맨 뒤에 공통으로 넣을 내용을 지정하기 위한 설정 |
| Fields inherited from class kr.co.hit.live.dao.JdbcDAO |
|---|
IS_GET_DB_METADATA_KEY, IS_SET_VO_COLUMN_HEADER_KEY, isGetMetaData, isSetVOColHeader, MAX_FETCH_LIMIT_KEY, maxFetchLimit, META_COLUMN, META_SCHEMA, META_TABLE, META_VIEW, sqlLog |
| Constructor Summary | |
|---|---|
JdbcQueryDAO()
|
|
JdbcQueryDAO(DataSource ds)
|
|
JdbcQueryDAO(String dsn)
|
|
JdbcQueryDAO(String datasourceName,
DataSource datasource)
|
|
| Method Summary | |
|---|---|
protected int[] |
executeBatch(SqlQuery query,
ValueObject paramVO)
여러건의 update, insert, delete query를 한번의 배치로 수행한다. |
protected ValueObject |
executeCall(SqlQuery query,
ValueObject paramVO)
Stored Procedure를 실행한다. |
protected ValueObjectAssembler |
executeCall(SqlQuery query,
ValueObject paramVO,
String[] rsNames)
ResultSet을 리턴하거는 Oracle의 REF CURSOR를 OUT으로 반환하는 Stored Procedure를 실행한다. |
protected ValueObject |
executeQuery(SqlQuery query,
ValueObject paramVO)
조회용 SQL 문을 수행한다. |
protected ValueObject |
executeQuery(SqlQuery query,
ValueObject paramVO,
ValueObject pageVO)
주어진 SQL에 대하여 페이지 단위로 조회를 수행한다. |
protected int |
executeUpdate(SqlQuery query,
ValueObject paramVO)
DB update, insert, delete Query를 수행한다. |
protected ValueObject |
executeUpdateReturnKeys(SqlQuery query,
ValueObject paramVO)
DB Insert Query를 수행하며, 입력된 결과를 리턴한다. |
protected ValueObject |
executeUpdateReturnKeys(SqlQuery query,
ValueObject paramVO,
int numKeyCols)
DB Insert Query를 수행하며, 입력된 결과를 리턴한다. |
protected ValueObject |
executeUpdateReturnKeys(SqlQuery query,
ValueObject paramVO,
int[] columnIndexes)
DB Insert Query를 수행하며, 입력된 결과를 리턴한다. |
protected ValueObject |
executeUpdateReturnKeys(SqlQuery query,
ValueObject paramVO,
String[] columnNames)
DB Insert Query를 수행하며, 입력된 결과를 리턴한다. |
protected SqlQueryPage |
getQueryPage(String relativePath)
자신의 패키지 디렉토리 위치를 기준으로 하위 경로를 주면 전체 경로를 생성하여 해당 SQL 파일을 사용하여 SqlQueryPage 객체를 생성하여 반환한다. |
protected ValueObject |
queryMetaData(int metaType,
String name)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected String packagePath
public static final String SQL_PREFIX_KEY
public static final String SQL_SUFFIX_KEY
| Constructor Detail |
|---|
public JdbcQueryDAO()
public JdbcQueryDAO(String datasourceName,
DataSource datasource)
public JdbcQueryDAO(String dsn)
public JdbcQueryDAO(DataSource ds)
| Method Detail |
|---|
protected ValueObject executeQuery(SqlQuery query,
ValueObject paramVO)
throws LiveException
query - 수행할 SQL문을 담고 있는 SqlQuery 객체paramVO - 파라메터를 담고 있는 ValueObject
LiveException
protected ValueObject executeQuery(SqlQuery query,
ValueObject paramVO,
ValueObject pageVO)
throws LiveException
query - 수행할 SQL문을 담고 있는 SqlQuery 객체paramVO - 파라메터를 담고 있는 ValueObjectpageVO - 페이지 단위 조회를 위한 추가 정보
LiveException
protected int executeUpdate(SqlQuery query,
ValueObject paramVO)
throws LiveException
DB update, insert, delete Query를 수행한다. 수행할 SQL문을 담고 있는 SqlQuery 객체와 파라메터를 담고 있는 ValueObject 객체를 받아서 SQL을 수행한 후 처리된 건 수를 리턴한다.
query - 수행할 SQL문을 담고 있는 SqlQuery 객체paramVO - 파라메터를 담고 있는 ValueObject
LiveException
protected ValueObject executeUpdateReturnKeys(SqlQuery query,
ValueObject paramVO,
int numKeyCols)
throws LiveException
DB Insert Query를 수행하며, 입력된 결과를 리턴한다. 수행할 SQL문을 담고 있는 SqlQuery 객체와 파라메터를 담고 있는 ValueObject 객체를 받아서 SQL을 수행한 후 테이블에 입력되는 컬럼들 중 테이블의 컬럼위치를 기준으로 처음부터 numKeyCols 만큼 지정된 개수의 컬럼들의 입력된 값을 ValueObject로 담아서 리턴해준다. JDBC 3.0을 지원하는 Driver에서만 사용이 가능하다.
query - 수행할 SQL문을 담고 있는 SqlQuery 객체paramVO - 파라메터를 담고 있는 ValueObjectnumKeyCols - 리턴해 줄 테이블 컬럼의 개수를 지정한다.
LiveException
protected ValueObject executeUpdateReturnKeys(SqlQuery query,
ValueObject paramVO,
int[] columnIndexes)
throws LiveException
DB Insert Query를 수행하며, 입력된 결과를 리턴한다. 수행할 SQL문을 담고 있는 SqlQuery 객체와 파라메터를 담고 있는 ValueObject 객체를 받아서 SQL을 수행한 후 테이블에 입력되는 컬럼들 중 columnIndexes로 지정된 위치의 컬럼들의 입력된 값을 ValueObject로 담아서 리턴해준다. JDBC 3.0을 지원하는 Driver에서만 사용이 가능하다.
query - 수행할 SQL문을 담고 있는 SqlQuery 객체paramVO - 파라메터를 담고 있는 ValueObjectcolumnIndexes - 리턴해 줄 테이블 컬럼들의 인덱스를 담은 배열
LiveException
protected ValueObject executeUpdateReturnKeys(SqlQuery query,
ValueObject paramVO,
String[] columnNames)
throws LiveException
DB Insert Query를 수행하며, 입력된 결과를 리턴한다. 수행할 SQL문을 담고 있는 SqlQuery 객체와 파라메터를 담고 있는 ValueObject 객체를 받아서 SQL을 수행한 후 테이블에 입력되는 컬럼들 중 columnNames로 지정된 명칭의 컬럼들로 입력된 값을 ValueObject로 담아서 리턴해준다. JDBC 3.0을 지원하는 Driver에서만 사용이 가능하다.
query - 수행할 SQL문을 담고 있는 SqlQuery 객체paramVO - 파라메터를 담고 있는 ValueObjectcolumnNames - 리턴해 줄 테이블 컬럼들의 이름을 배열
LiveException
protected ValueObject executeUpdateReturnKeys(SqlQuery query,
ValueObject paramVO)
throws LiveException
DB Insert Query를 수행하며, 입력된 결과를 리턴한다. 수행할 SQL문을 담고 있는 SqlQuery 객체와 파라메터를 담고 있는 ValueObject 객체를 받아서 SQL을 수행한 후 자동으로 값이 생성되는 컬럼들로 입력된 값을 ValueObject로 담아서 리턴해준다. JDBC 3.0을 지원하는 Driver에서만 사용이 가능하다.
query - 수행할 SQL문을 담고 있는 SqlQuery 객체paramVO - 파라메터를 담고 있는 ValueObject
LiveException
protected int[] executeBatch(SqlQuery query,
ValueObject paramVO)
throws LiveException
여러건의 update, insert, delete query를 한번의 배치로 수행한다. 배치처리될 SqlQuery 객체와 파라메터들을 담고 있는 ValueObject를 전달하면 ValueObject내의 각 row에 대하여 처리를 한다.
동적 Sql이 배치처리될 경우 첫번째 파라메터를 기준으로 생성된 Sql이 적용된다.
query - 수행할 SqlQuery 객체paramVO - Query 문에 매핑될 파라메터들을 여러건 가지고 있는 ValueObject
LiveException
protected ValueObject queryMetaData(int metaType,
String name)
throws LiveException
LiveException
protected ValueObject executeCall(SqlQuery query,
ValueObject paramVO)
throws LiveException
query - paramVO -
LiveException
protected ValueObjectAssembler executeCall(SqlQuery query,
ValueObject paramVO,
String[] rsNames)
throws LiveException
ResultSet을 리턴하거는 Oracle의 REF CURSOR를 OUT으로 반환하는 Stored Procedure를 실행한다. 수행할 Procedure 호출문을 담고 있는 SqlQuery 객체와 파라메터를 담고 있는 ValueObject 객체를 받아서 Procedure를 실행 후 그 결과 데이터를 각각 ValueObject로 생성한 후 다시 ValueObjectAssembler 객체에 담아서 리턴한다.
각 결과 ValueObject의 이름은 파라메터로 주어진 rsNames를 사용하여 명명된다. rsNames[0]는 OUT 또는 INOUT 파라메터 결과를 담을 ValueObject 이름이며 rsNames[1]부터는 ResultSet으로 부터 결과를 담을 ValueObject의 이름으로 사용된다. Stored Procedure에서 리턴하는 ResultSet의 개수가 n개라면 rsNames[]의 length는 n+1개가 되어야 한다.
또한 OUT으로 반환되는 값 중에 Oracle의 REF CURSOR(타입은 ORACLECURSOR로 지정함)가 있으면 Cursor로 부터 조회된 값들은 별도의 ValueObject 로 생성되어 반환되는 ValueObjectAssembler 객체에 담겨진다.
query - paramVO - rsNames -
LiveExceptionprotected SqlQueryPage getQueryPage(String relativePath)
relativePath -
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||