public interface GlueGenericJdbcDao extends GlueGenericDao
// parameter setting List args = new ArrayList(); args.add("3500"); GlueParameter param = new GlueParameter
(args); // 1. xxx-query.glue_sql 파일에 등록된 SQL 쿼리문장을 사용 (쿼리 키) //
// ? // ]]> // List rowsetOne = dao.find("emp.select.id", param); // 2. 명시적인 SQL 쿼리문장을 사용 List rowsetTwo = dao.findByQueryStatement("select empno, ename, sal from emp where sal > ?", param);
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_BATCH_UPDATE_SIZE |
static int |
DELETE
DELETE Operation 상수
|
static int |
INSERT
INSERT Operation 상수
|
static int |
SELECT
SELECT Operation 상수
|
static int |
UPDATE
UPDATE Operation 상수
|
Modifier and Type | Method and Description |
---|---|
int[] |
batchUpdate(String queryKey,
GlueParameter<List<?>>[] params,
int[] types)
JDBC 2.0 Specification에 정의된 Batch Update를 실행한다.
|
int[] |
batchUpdate(String queryKey,
GlueParameter<Map<?,?>>[] params,
Map<String,Integer> types)
JDBC 2.0 Specification에 정의된 Batch Update를 실행한다.
|
<P> int[] |
batchUpdate(String queryKey,
GlueParameter<P>[] params)
JDBC 2.0 Specification에 정의된 Batch Update를 실행한다.
|
int[] |
batchUpdateByQueryStatement(String queryStmt,
GlueParameter<List<?>>[] params,
int[] types)
JDBC 2.0 Specification에 정의된 Batch Update를 실행한다.
|
int[] |
batchUpdateByQueryStatement(String queryStmt,
GlueParameter<Map<?,?>>[] params,
Map<String,Integer> types)
JDBC 2.0 Specification에 정의된 Batch Update를 실행한다.
|
<P> int[] |
batchUpdateByQueryStatement(String queryStmt,
GlueParameter<P>[] params)
JDBC 2.0 Specification에 정의된 Batch Update를 실행한다.
|
int |
deleteByQueryStatement(String queryStmt)
SQL 쿼리문장을 실행하여 Database Record를 삭제한다.
|
<P> int |
deleteByQueryStatement(String queryStmt,
GlueParameter<P> param)
SQL 쿼리문장을 실행하여 Database Record를 삭제한다.
|
<T,P> List<T> |
find(String queryKey,
String whereClause,
GlueParameter<P> param)
쿼리 키에 해당하는 SQL 쿼리문장에 where 절을 적용하여 조건에 해당하는 Database Record를 검색한다.
|
<T> List<T> |
findByQueryStatement(String queryStmt)
Static SQL 쿼리(바인딩 변수가 없는 쿼리)를 실행하여 조건에 해당하는 Database Record를 검색한다.
|
<T,P> List<T> |
findByQueryStatement(String queryStmt,
GlueParameter<P> param)
SQL 쿼리문장을 실행하여 조건에 해당하는 Database Record를 검색한다.
|
<P> GluePageSet |
findForNavigationPage(String queryKey,
GlueParameter<P> param,
int pageSize,
int curPage)
Page Set 기능을 지원하는 메소드이다.
|
GluePageSet |
findForNavigationPage(String queryKey,
int pageSize,
int curPage)
Page Set 기능을 지원하는 메소드이다.
|
<P> GluePageSet |
findForNavigationPageByQuery(String queryStmt,
GlueParameter<P> param,
int pageSize,
int curPage)
Page Set 기능을 지원하는 메소드이다.
|
GluePageSet |
findForNavigationPageByQuery(String queryStmt,
int pageSize,
int curPage)
Page Set 기능을 지원하는 메소드이다.
|
GlueQueryManager |
getQueryManager()
Query Manager를 얻는다.
|
GlueSequence |
getSequence()
데이터베이스 Sequence 값을 핸들링하는 GlueSequence를 획득한다.
|
int |
insertByQueryStatement(String queryStmt)
SQL 쿼리(바인딩 변수가 없는 쿼리)를 실행하여 Database Record를 생성한다.
|
<P> int |
insertByQueryStatement(String queryStmt,
GlueParameter<P> param)
SQL 쿼리문장을 실행하여 Database Record를 생성한다.
|
int |
updateByQueryStatement(String queryStmt)
Static SQL 쿼리(바인딩 변수가 없는 쿼리)를 실행하여 조건에 해당하는 Database Record를 수정한다.
|
<P> int |
updateByQueryStatement(String queryStmt,
GlueParameter<P> param)
SQL 쿼리문장을 실행하여 조건에 해당하는 Database Record를 수정한다.
|
static final int SELECT
static final int UPDATE
static final int INSERT
static final int DELETE
static final int DEFAULT_BATCH_UPDATE_SIZE
GlueQueryManager getQueryManager()
GlueSequence getSequence()
int deleteByQueryStatement(String queryStmt)
int dmlCnt = dao.deleteByQueryStatement( "delete from emp" );
queryStmt
- SQL 쿼리문장<P> int deleteByQueryStatement(String queryStmt, GlueParameter<P> param)
List args = new ArrayList(); args.add("10"); GlueParameter param = new GlueParameter
(args); int dmlCnt = dao.deleteByQueryStatement("delete from emp where deptno=?", param);
queryStmt
- SQL 쿼리문장param
- 파라메터<T,P> List<T> find(String queryKey, String whereClause, GlueParameter<P> param)
param
- 파라메터whereClause
- where 절queryKey
- 쿼리 키<T> List<T> findByQueryStatement(String queryStmt)
List rowset = dao.findByQueryStatement( "select * from emp" );
queryStmt
- SQL 쿼리문장<T,P> List<T> findByQueryStatement(String queryStmt, GlueParameter<P> param)
List args = new ArrayList(); args.add("9999"); GlueParameter param = new GlueParameter
(args); List rowset = dao.findByQueryStatement("select * from emp where empno=?", param);
param
- 파라메터queryStmt
- SQL 쿼리문장GluePageSet findForNavigationPage(String queryKey, int pageSize, int curPage)
curPage
- 현재 페이지 번호pageSize
- 한 화면에 Display 될 로우 개수queryKey
- 쿼리 키<P> GluePageSet findForNavigationPage(String queryKey, GlueParameter<P> param, int pageSize, int curPage)
curPage
- 현재 페이지 번호pageSize
- 한 화면에 Display 될 로우 개수param
- 바인딩 파라메터queryKey
- 쿼리 키GluePageSet findForNavigationPageByQuery(String queryStmt, int pageSize, int curPage)
GluePageSet rowset = dao.findForNavigationPageByQuery( "select * from emp", 15, 5 );
curPage
- 현재 페이지 번호pageSize
- 한 화면에 Display 될 로우 개수queryStmt
- SQL 쿼리문장<P> GluePageSet findForNavigationPageByQuery(String queryStmt, GlueParameter<P> param, int pageSize, int curPage)
List args = new ArrayList(); args.add("10"); GlueParameter param = new GlueParameter
(args); GluePageSet rowset = dao.findForNavigationPageByQuery("select * from emp where deptno=?", param, 15, 5);
queryStmt
- SQL 쿼리문장param
- 바인딩 파라메터pageSize
- 한 화면에 Display 될 로우 개수curPage
- 현재 페이지 번호int insertByQueryStatement(String queryStmt)
int dmlCnt = dao.insertByQueryStatement( "insert into emp(EMPNO, ENAME) values(9999,'guest')" );
queryStmt
- SQL 쿼리문장<P> int insertByQueryStatement(String queryStmt, GlueParameter<P> param)
List args = new ArrayList(); args.add("9999"); args.add("guest"); GlueParameter param = new GlueParameter
(args); int dmlCnt = dao.insertByQueryStatement("insert into emp(EMPNO, ENAME) values(?,?)", param);
queryStmt
- SQL 쿼리문장param
- 파라메터int updateByQueryStatement(String queryStmt)
int dmlCnt = dao.updateByQueryStatement( "update emp set ename='guest' where empno=9999" );
queryStmt
- SQL 쿼리문장<P> int updateByQueryStatement(String queryStmt, GlueParameter<P> param)
List args = new ArrayList(); args.add("guest"); args.add("9999"); GlueParameter param = new GlueParameter
(args); int dmlCnt = dao.updateByQueryStatement("update emp set ename=? where empno=?", param);
queryStmt
- SQL 쿼리문장param
- 파라메터<P> int[] batchUpdate(String queryKey, GlueParameter<P>[] params)
쿼리 종류가 서로 다르다면 각각 batchUpdate 메소드를 호출하면 된다. 리턴되는 결과 값은 sql을 실행한 결과 로우 개수이다.final int count = 10; // batch update를 위한 GlueParameter 객체 배열 생성 GlueParameter [] params = new GlueParameter
[count]; for (int i=0; i
(args); } int[] results = dao.batchUpdate("query-key", params);
queryKey
- 쿼리 키params
- GlueParameter Array<P> int[] batchUpdateByQueryStatement(String queryStmt, GlueParameter<P>[] params)
final int count = 10; // batch update를 위한 GlueParameter 객체 배열 생성 GlueParameter [] params = new GlueParameter
[count]; for (int i=0; i
(args); } int[] results = dao.batchUpdateByQueryStatement("update set
=? where =?", params); 쿼리 종류가 서로 다르다면 각각 batchUpdate 메소드를 호출하면 된다. 리턴되는 결과 값은 sql을 실행한 결과 Row 개수이다.
- Parameters:
queryStmt
- SQL 쿼리문장params
- GlueParameter Array- Returns:
- 각각의 Statement가 수행된 후 업데이트 된 Row 개수 배열
batchUpdate
int[] batchUpdate(String queryKey, GlueParameter<List<?>>[] params, int[] types)JDBC 2.0 Specification에 정의된 Batch Update를 실행한다. JDBC 드라이버가 batch update를 지원하지 않으면 일반 Update가 실행된다. 사용 방법은 아래 참조.쿼리 종류가 서로 다르다면 각각 batchUpdate 메소드를 호출하면 된다. 리턴되는 결과 값은 sql을 실행한 결과 Row 개수이다.int size = 10; // batch update를 위한 GlueParameter 객체 배열 생성 GlueParameter >[] params = new GlueParameter[size]; for (int i=0; i
32765 인경우임. params[i] = new GlueParameter >(args); } int types[] = {Types.VARCHAR, Types.TIMESTAMP, Types.BLOB, Types.BLOB, Types.BLOB, Types.CLOB} int[] results = dao.batchUpdate("query-key", params, types);
- Parameters:
queryKey
- 쿼리 키params
- GlueParameter<List> Arraytypes
- java.sql.Types 의 배열, data이 java.util.Date 형이면 Types.TIMESTAMP 으로하고, data가 java.io.File, byte[], java.io.InputStream 형이면 Types.BLOB으로 하고, data가 32765보다 큰 String이면 Types.CLOB으로 하고, 그외는 Types.VARCHAR로 한다.- Returns:
- 각각의 Statement가 수행된 후 업데이트 된 Row 개수 배열
batchUpdate
int[] batchUpdate(String queryKey, GlueParameter<Map<?,?>>[] params, Map<String,Integer> types)JDBC 2.0 Specification에 정의된 Batch Update를 실행한다. JDBC 드라이버가 batch update를 지원하지 않으면 일반 Update가 실행된다. 사용 방법은 아래 참조.쿼리 종류가 서로 다르다면 각각 batchUpdate 메소드를 호출하면 된다. 리턴되는 결과 값은 sql을 실행한 결과 Row 개수이다.int size = 10; // batch update를 위한 GlueParameter 객체 배열 생성 GlueParameter
- Parameters:
queryKey
- 쿼리 키params
- GlueParameter<Map> Arraytypes
- java.sql.Types 의 Map, data이 java.util.Date 형이면 Types.TIMESTAMP 으로하고, data가 java.io.File, byte[], java.io.InputStream 형이면 Types.BLOB으로 하고, data가 32765보다 큰 String이면 Types.CLOB으로 하고, 그외는 Types.VARCHAR로 한다.- Returns:
- 각각의 Statement가 수행된 후 업데이트 된 Row 개수 배열
batchUpdateByQueryStatement
int[] batchUpdateByQueryStatement(String queryStmt, GlueParameter<List<?>>[] params, int[] types)JDBC 2.0 Specification에 정의된 Batch Update를 실행한다. JDBC 드라이버가 batch update를 지원하지 않으면 일반 Update가 실행된다. 사용 방법은 아래 참조.int size = 10; // batch update를 위한 GlueParameter 객체 배열 생성 GlueParameter >[] params = new GlueParameter[size]; for (int i=0; i
32765 인경우임. params[i] = new GlueParameter >(args); } int types[] = {Types.VARCHAR, Types.TIMESTAMP, Types.BLOB, Types.BLOB, Types.BLOB, Types.CLOB} int[] results = dao.batchUpdateByQueryStatement("insert into
values (?, ?, ?, ?, ?, ?)", params, types);
쿼리 종류가 서로 다르다면 각각 batchUpdate 메소드를 호출하면 된다. 리턴되는 결과 값은 sql을 실행한 결과 Row 개수이다.
- Parameters:
queryStmt
- SQL 쿼리문장params
- GlueParameter<List> Arraytypes
- java.sql.Types 의 배열, data이 java.util.Date 형이면 Types.TIMESTAMP 으로하고, data가 java.io.File, byte[], java.io.InputStream 형이면 Types.BLOB으로 하고, data가 32765보다 큰 String이면 Types.CLOB으로 하고, 그외는 Types.VARCHAR로 한다.- Returns:
- 각각의 Statement가 수행된 후 업데이트 된 Row 개수 배열
batchUpdateByQueryStatement
int[] batchUpdateByQueryStatement(String queryStmt, GlueParameter<Map<?,?>>[] params, Map<String,Integer> types)JDBC 2.0 Specification에 정의된 Batch Update를 실행한다. JDBC 드라이버가 batch update를 지원하지 않으면 일반 Update가 실행된다. 사용 방법은 아래 참조.int size = 10; // batch update를 위한 GlueParameter 객체 배열 생성 GlueParameter >[] params = new GlueParameter[size]; for (int i=0; i 32765 인경우임. params[i] = new GlueParameter >(args); } Map types = new HashMap(); types.put("name0", Types.VARCHAR); types.put("name1", Types.TIMESTAMP); types.put("name2", Types.BLOB); types.put("name3", Types.BLOB); types.put("name4", Types.BLOB); types.put("name5", Types.CLOB); int[] results = dao.batchUpdateByQueryStatement("insert into values (:name0, :name1, :name2, :name3, :name4, :name5)", params, types); 쿼리 종류가 서로 다르다면 각각 batchUpdate 메소드를 호출하면 된다. 리턴되는 결과 값은 sql을 실행한 결과 Row 개수이다.
- Parameters:
queryStmt
- SQL 쿼리문장params
- GlueParameter<Map> Arraytypes
- java.sql.Types 의 Map, data이 java.util.Date 형이면 Types.TIMESTAMP 으로하고, data가 java.io.File, byte[], java.io.InputStream 형이면 Types.BLOB으로 하고, data가 32765보다 큰 String이면 Types.CLOB으로 하고, 그외는 Types.VARCHAR로 한다.- Returns:
- 각각의 Statement가 수행된 후 업데이트 된 Row 개수 배열
Copyright © 2013–2021 POSCO ICT. All rights reserved.