com.poscoict.glueframework.dao.jdbc
Class GlueJdbcDao

java.lang.Object
  extended by org.springframework.dao.support.DaoSupport
      extended by org.springframework.jdbc.core.support.JdbcDaoSupport
          extended by org.springframework.jdbc.core.namedparam.NamedParameterJdbcDaoSupport
              extended by com.poscoict.glueframework.dao.jdbc.GlueJdbcDao
All Implemented Interfaces:
GlueGenericDao, GlueGenericJdbcDao, org.springframework.beans.factory.InitializingBean

public class GlueJdbcDao
extends org.springframework.jdbc.core.namedparam.NamedParameterJdbcDaoSupport
implements GlueGenericJdbcDao

데이타베이스 CRUD(Create, Read, Update, Delete) 오퍼레이션을 추상화하여 제공하는 Data Access Object 오브젝트.
기본적으로 config path에 위치한 xxx-query.glue_sql 파일에 등록된 Query 문장을 사용하지만, "ByQueryStatement" 로 끝나는 메소드는 명시적으로 Query문장을 파라메터로 넘겨주어야 한다. 내부적으로 Spring Framework의 JdbcTemplate 클래스를 이용하여 DAO 의 오퍼레이션을 구현하였다.

 bean property 설정
 - dataSource : (필수) javax.sql.DataSource 
 
 - queryManager : (필수) com.poscoict.glueframework.dao.manager.GlueQueryManager 
 
 - columnManager : (선택) com.poscoict.glueframework.dao.manager.GlueColumnManager, default는 null
 
 - sequence : (선택) com.poscoict.glueframework.dao.sequence.GlueSequence, 
                      default는 자동생성되나 지원되는 DB가 제한적임. 
 
 - lobHandler (선택) org.springframework.jdbc.support.lob.LobHandler,
                      default는 org.springframework.jdbc.support.lob.DefaultLobHandler
 
 - typeCast : (선택) boolean( true, false ), default는 false임.
 
 - batchUpdateLimit : (선택) int, default는 30000
 
 
 [sample]
 
 사용 예
 
 <bean id="dao" class="com.poscoict.glueframework.dao.jdbc.GlueJdbcDao">
     <property name="dataSource"><ref local="dataSource"/></property>
     <property name="queryManager"><ref local="queryManager"/></property>
 </bean>
 


Field Summary
protected  org.springframework.jdbc.support.lob.LobHandler lobHandler
          Lob handler for processing lob type
protected  GlueQueryManager queryManager
          Query Manager
protected  GlueSequence sequence
           
 
Fields inherited from interface com.poscoict.glueframework.dao.jdbc.GlueGenericJdbcDao
DEFAULT_BATCH_UPDATE_SIZE, DELETE, INSERT, SELECT, UPDATE
 
Constructor Summary
GlueJdbcDao()
          생성자(constructor).
 
Method Summary
<P> int[]
batchUpdate(String queryKey, GlueParameter<P>[] params)
          JDBC 2.0 Specification에 정의된 Batch Update를 실행한다.
<P> int[]
batchUpdateByQueryStatement(String queryStmt, GlueParameter<P>[] params)
          JDBC 2.0 Specification에 정의된 Batch Update를 실행한다.
protected  org.springframework.jdbc.core.JdbcTemplate createJdbcTemplate(DataSource dataSource)
           
 int delete(String queryKey)
          쿼리 키에 해당하는 Static SQL 쿼리(바인딩 변수가 없는 쿼리)를 실행하여 Database Record를 삭제한다.
<P> int
delete(String queryKey, GlueParameter<P> param)
          쿼리 키에 해당하는 SQL 쿼리문장을 실행하여 Database Record를 삭제한다.
 int deleteByQueryStatement(String queryStmt)
          SQL 쿼리문장을 실행하여 Database Record를 삭제한다.
<P> int
deleteByQueryStatement(String queryStmt, GlueParameter<P> param)
          SQL 쿼리문장을 실행하여 Database Record를 삭제한다.
<T> List<T>
find(String queryKey)
          쿼리 키에 해당하는 Static SQL 쿼리(바인딩 변수가 없는 쿼리)를 실행하여 조건에 해당하는 Database Record를 검색한다.
<T,P> List<T>
find(String queryKey, 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 기능을 지원하는 메소드이다.
 int getBatchUpdateLimit()
           
 String getDatabaseProductName()
          getter method.
 Connection getDBConnection()
          Connection을 Return 하는 Method 이다.
 GlueQueryManager getQueryManager()
          Query Manager를 얻는다.
 GlueSequence getSequence()
          데이터베이스 Sequence 값을 핸들링하는 GlueSequence를 획득한다.
protected  GlueDaoException handleDataAccessException(org.springframework.dao.DataAccessException dae)
          JDBC Layer에서 발생하는 DataAccessException을 GlueDaoException으로 변환 시켜준다.
 int insert(String queryKey)
          쿼리 키에 해당하는 Static SQL 쿼리(바인딩 변수가 없는 쿼리)를 실행하여 Database Record를 생성한다.
<P> int
insert(String queryKey, GlueParameter<P> param)
          쿼리 키에 해당하는 SQL 쿼리문장을 실행하여 Database Record를 생성한다.
 int insertByQueryStatement(String queryStmt)
          SQL 쿼리(바인딩 변수가 없는 쿼리)를 실행하여 Database Record를 생성한다.
<P> int
insertByQueryStatement(String queryStmt, GlueParameter<P> param)
          SQL 쿼리문장을 실행하여 Database Record를 생성한다.
 void releaseDBConnection(Connection con)
           
 void setBatchUpdateLimit(int batchUpdateLimit)
          setter method for DI.
 void setColumnManager(GlueColumnManager columnManager)
          setter method for DI.
 void setLobHandler(org.springframework.jdbc.support.lob.LobHandler lobHandler)
           
 void setQueryManager(GlueQueryManager queryManager)
          setter method for DI.
 void setSequence(GlueSequence sequence)
           
 void setTypeCast(boolean typeCast)
          setter method for DI.
 int update(String queryKey)
          쿼리 키에 해당하는 Static SQL 쿼리(바인딩 변수가 없는 쿼리)를 실행하여 조건에 해당하는 Database Record를 수정한다.
<P> int
update(String queryKey, 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를 수정한다.
 
Methods inherited from class org.springframework.jdbc.core.namedparam.NamedParameterJdbcDaoSupport
getNamedParameterJdbcTemplate, initTemplateConfig
 
Methods inherited from class org.springframework.jdbc.core.support.JdbcDaoSupport
checkDaoConfig, getConnection, getDataSource, getExceptionTranslator, getJdbcTemplate, releaseConnection, setDataSource, setJdbcTemplate
 
Methods inherited from class org.springframework.dao.support.DaoSupport
afterPropertiesSet, initDao
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

queryManager

protected GlueQueryManager queryManager
Query Manager


sequence

protected GlueSequence sequence

lobHandler

protected org.springframework.jdbc.support.lob.LobHandler lobHandler
Lob handler for processing lob type

Constructor Detail

GlueJdbcDao

public GlueJdbcDao()
생성자(constructor).

Method Detail

createJdbcTemplate

protected org.springframework.jdbc.core.JdbcTemplate createJdbcTemplate(DataSource dataSource)
Overrides:
createJdbcTemplate in class org.springframework.jdbc.core.support.JdbcDaoSupport

getQueryManager

public GlueQueryManager getQueryManager()
Description copied from interface: GlueGenericJdbcDao
Query Manager를 얻는다.

Specified by:
getQueryManager in interface GlueGenericJdbcDao
Returns:
Query Manager

setQueryManager

public void setQueryManager(GlueQueryManager queryManager)
setter method for DI. Query Manager를 설정한다.

Parameters:
queryManager - Query Manager

setColumnManager

public void setColumnManager(GlueColumnManager columnManager)
setter method for DI.

Parameters:
columnManager -

setTypeCast

public void setTypeCast(boolean typeCast)
setter method for DI.

Parameters:
typeCast -

getSequence

public GlueSequence getSequence()
Description copied from interface: GlueGenericJdbcDao
데이터베이스 Sequence 값을 핸들링하는 GlueSequence를 획득한다.
지원되는 DB - Oracle, IBM DB2, PostgreSQL

Specified by:
getSequence in interface GlueGenericJdbcDao
Returns:
GlueSequence 오브젝트

setSequence

public void setSequence(GlueSequence sequence)

setLobHandler

public void setLobHandler(org.springframework.jdbc.support.lob.LobHandler lobHandler)

getBatchUpdateLimit

public int getBatchUpdateLimit()

setBatchUpdateLimit

public void setBatchUpdateLimit(int batchUpdateLimit)
setter method for DI.

Parameters:
batchUpdateLimit -

getDatabaseProductName

public String getDatabaseProductName()
getter method.

Returns:

getDBConnection

public Connection getDBConnection()
Connection을 Return 하는 Method 이다. Connection을 이용하여 Statement, PreparedStatement,CallableStatement 등을 사용하는 경우 반드시 해당 자원은 Close 하여야 한다. (Connection은 Glue F/W에서 자동으로 Close 하기 때문에 Close 하지 말아야 한다)

Returns:
Connection

releaseDBConnection

public void releaseDBConnection(Connection con)

find

public <T> List<T> find(String queryKey)
Description copied from interface: GlueGenericDao
쿼리 키에 해당하는 Static SQL 쿼리(바인딩 변수가 없는 쿼리)를 실행하여 조건에 해당하는 Database Record를 검색한다.

Specified by:
find in interface GlueGenericDao
Parameters:
queryKey - 쿼리 키
Returns:
검색된 레코드를 표현하는 RowSet

find

public <T,P> List<T> find(String queryKey,
                          GlueParameter<P> param)
Description copied from interface: GlueGenericDao
쿼리 키에 해당하는 SQL 쿼리문장을 실행하여 조건에 해당하는 Database Record를 검색한다.

Specified by:
find in interface GlueGenericDao
Parameters:
queryKey - 쿼리 키
param - 파라메터
Returns:
검색된 레코드를 표현하는 RowSet

find

public <T,P> List<T> find(String queryKey,
                          String whereClause,
                          GlueParameter<P> param)
Description copied from interface: GlueGenericJdbcDao
쿼리 키에 해당하는 SQL 쿼리문장에 where 절을 적용하여 조건에 해당하는 Database Record를 검색한다.

Specified by:
find in interface GlueGenericJdbcDao
Parameters:
queryKey - 쿼리 키
whereClause - where 절
param - 파라메터
Returns:
검색된 레코드를 표현하는 RowSet

findByQueryStatement

public <T> List<T> findByQueryStatement(String queryStmt)
Description copied from interface: GlueGenericJdbcDao
Static SQL 쿼리(바인딩 변수가 없는 쿼리)를 실행하여 조건에 해당하는 Database Record를 검색한다.
 List rowset = dao.findByQueryStatement( "select * from emp" );
 

Specified by:
findByQueryStatement in interface GlueGenericJdbcDao
Parameters:
queryStmt - SQL 쿼리문장
Returns:
검색된 레코드를 표현하는 RowSet

findByQueryStatement

public <T,P> List<T> findByQueryStatement(String queryStmt,
                                          GlueParameter<P> param)
Description copied from interface: GlueGenericJdbcDao
SQL 쿼리문장을 실행하여 조건에 해당하는 Database Record를 검색한다.
 List args = new ArrayList();
 args.add("9999");
 GlueParameter<List> param = new GlueParameter<List>(args);
 List rowset = dao.findByQueryStatement("select * from emp where empno=?", param);
 
 

Specified by:
findByQueryStatement in interface GlueGenericJdbcDao
Parameters:
queryStmt - SQL 쿼리문장
param - 파라메터
Returns:
검색된 레코드를 표현하는 List

findForNavigationPage

public GluePageSet findForNavigationPage(String queryKey,
                                         int pageSize,
                                         int curPage)
Description copied from interface: GlueGenericJdbcDao
Page Set 기능을 지원하는 메소드이다. (게시판 형태)
한 페이지에 display될 Record 개수와 현재 페이지 번호를 지정해 주어야 한다.
(예, pageSize:15, curPage:5 -> 5페이지에 해당하는 Record 15개를 얻는다.)

Specified by:
findForNavigationPage in interface GlueGenericJdbcDao
Parameters:
queryKey - 쿼리 키
pageSize - 한 화면에 Display 될 로우 개수
curPage - 현재 페이지 번호
Returns:
Display 될 RowSet

findForNavigationPage

public <P> GluePageSet findForNavigationPage(String queryKey,
                                             GlueParameter<P> param,
                                             int pageSize,
                                             int curPage)
Description copied from interface: GlueGenericJdbcDao
Page Set 기능을 지원하는 메소드이다. (게시판 형태)
한 페이지에 display될 Record 개수와 현재 페이지 번호를 지정해 주어야 한다.
(예, pageSize:15, curPage:5 -> 5페이지에 해당하는 Record 15개를 얻는다.)

Specified by:
findForNavigationPage in interface GlueGenericJdbcDao
Parameters:
queryKey - 쿼리 키
param - 바인딩 파라메터
pageSize - 한 화면에 Display 될 로우 개수
curPage - 현재 페이지 번호
Returns:
Display 될 RowSet

findForNavigationPageByQuery

public GluePageSet findForNavigationPageByQuery(String queryStmt,
                                                int pageSize,
                                                int curPage)
Description copied from interface: GlueGenericJdbcDao
Page Set 기능을 지원하는 메소드이다. (게시판 형태)
한 페이지에 display될 Record 개수와 현재 페이지 번호를 지정해 주어야 한다.
(예, pageSize:15, curPage:5 -> 5페이지에 해당하는 Record 15개를 얻는다.)
 GluePageSet rowset = dao.findForNavigationPageByQuery( "select * from emp", 15, 5 );
 

Specified by:
findForNavigationPageByQuery in interface GlueGenericJdbcDao
Parameters:
queryStmt - SQL 쿼리문장
pageSize - 한 화면에 Display 될 로우 개수
curPage - 현재 페이지 번호
Returns:
Display 될 RowSet

findForNavigationPageByQuery

public <P> GluePageSet findForNavigationPageByQuery(String queryStmt,
                                                    GlueParameter<P> param,
                                                    int pageSize,
                                                    int curPage)
Description copied from interface: GlueGenericJdbcDao
Page Set 기능을 지원하는 메소드이다. (게시판 형태)
한 페이지에 display될 Record 개수와 현재 페이지 번호를 지정해 주어야 한다.
(예, pageSize:15, curPage:5 -> 5페이지에 해당하는 Record 15개를 얻는다.)
 List args = new ArrayList();
 args.add("10");
 GlueParameter<List> param = new GlueParameter<List>(args);
 GluePageSet rowset = dao.findForNavigationPageByQuery("select * from emp where deptno=?", param, 15, 5);
 
 

Specified by:
findForNavigationPageByQuery in interface GlueGenericJdbcDao
Parameters:
queryStmt - SQL 쿼리문장
param - 바인딩 파라메터
pageSize - 한 화면에 Display 될 로우 개수
curPage - 현재 페이지 번호
Returns:
Display 될 RowSet

update

public int update(String queryKey)
Description copied from interface: GlueGenericDao
쿼리 키에 해당하는 Static SQL 쿼리(바인딩 변수가 없는 쿼리)를 실행하여 조건에 해당하는 Database Record를 수정한다.

Specified by:
update in interface GlueGenericDao
Parameters:
queryKey - 쿼리 키
Returns:
수정된 레코드 개수

update

public <P> int update(String queryKey,
                      GlueParameter<P> param)
Description copied from interface: GlueGenericDao
쿼리 키에 해당하는 SQL 쿼리문장을 실행하여 조건에 해당하는 Database Record를 수정한다.

Specified by:
update in interface GlueGenericDao
Parameters:
queryKey - 쿼리 키
param - 파라메터
Returns:
수정된 레코드 개수

updateByQueryStatement

public int updateByQueryStatement(String queryStmt)
Description copied from interface: GlueGenericJdbcDao
Static SQL 쿼리(바인딩 변수가 없는 쿼리)를 실행하여 조건에 해당하는 Database Record를 수정한다.
 int dmlCnt = dao.updateByQueryStatement( "update emp set ename='guest' where empno=9999" );
 

Specified by:
updateByQueryStatement in interface GlueGenericJdbcDao
Parameters:
queryStmt - SQL 쿼리문장
Returns:
수정된 레코드 개수

updateByQueryStatement

public <P> int updateByQueryStatement(String queryStmt,
                                      GlueParameter<P> param)
Description copied from interface: GlueGenericJdbcDao
SQL 쿼리문장을 실행하여 조건에 해당하는 Database Record를 수정한다.
 List args = new ArrayList();
 args.add("guest");
 args.add("9999");
 GlueParameter<List> param = new GlueParameter<List>(args);
 int dmlCnt = dao.updateByQueryStatement("update emp set ename=? where empno=?", param);
 
 

Specified by:
updateByQueryStatement in interface GlueGenericJdbcDao
Parameters:
queryStmt - SQL 쿼리문장
param - 파라메터
Returns:
수정된 레코드 개수

insert

public int insert(String queryKey)
Description copied from interface: GlueGenericDao
쿼리 키에 해당하는 Static SQL 쿼리(바인딩 변수가 없는 쿼리)를 실행하여 Database Record를 생성한다.

Specified by:
insert in interface GlueGenericDao
Parameters:
queryKey - 쿼리 키
Returns:
생성된 레코드 개수

insert

public <P> int insert(String queryKey,
                      GlueParameter<P> param)
Description copied from interface: GlueGenericDao
쿼리 키에 해당하는 SQL 쿼리문장을 실행하여 Database Record를 생성한다.

Specified by:
insert in interface GlueGenericDao
Parameters:
queryKey - 쿼리 키
param - 파라메터
Returns:
생성된 레코드 개수

insertByQueryStatement

public int insertByQueryStatement(String queryStmt)
Description copied from interface: GlueGenericJdbcDao
SQL 쿼리(바인딩 변수가 없는 쿼리)를 실행하여 Database Record를 생성한다.
 int dmlCnt = dao.insertByQueryStatement( "insert into emp(EMPNO, ENAME) values(9999,'guest')" );
 

Specified by:
insertByQueryStatement in interface GlueGenericJdbcDao
Parameters:
queryStmt - SQL 쿼리문장
Returns:
생성된 레코드 개수

insertByQueryStatement

public <P> int insertByQueryStatement(String queryStmt,
                                      GlueParameter<P> param)
Description copied from interface: GlueGenericJdbcDao
SQL 쿼리문장을 실행하여 Database Record를 생성한다.
 List args = new ArrayList();
 args.add("9999");
 args.add("guest");
 GlueParameter<List> param = new GlueParameter<List>(args);
 int dmlCnt = dao.insertByQueryStatement("insert into emp(EMPNO, ENAME) values(?,?)", param);
 
 

Specified by:
insertByQueryStatement in interface GlueGenericJdbcDao
Parameters:
queryStmt - SQL 쿼리문장
param - 파라메터
Returns:
생성된 레코드 개수

delete

public int delete(String queryKey)
Description copied from interface: GlueGenericDao
쿼리 키에 해당하는 Static SQL 쿼리(바인딩 변수가 없는 쿼리)를 실행하여 Database Record를 삭제한다.

Specified by:
delete in interface GlueGenericDao
Parameters:
queryKey - 쿼리 키
Returns:
삭제된 레코드 개수

delete

public <P> int delete(String queryKey,
                      GlueParameter<P> param)
Description copied from interface: GlueGenericDao
쿼리 키에 해당하는 SQL 쿼리문장을 실행하여 Database Record를 삭제한다.

Specified by:
delete in interface GlueGenericDao
Parameters:
queryKey - 쿼리 키
param - 파라메터
Returns:
삭제된 레코드 개수

deleteByQueryStatement

public int deleteByQueryStatement(String queryStmt)
Description copied from interface: GlueGenericJdbcDao
SQL 쿼리문장을 실행하여 Database Record를 삭제한다.
 int dmlCnt = dao.deleteByQueryStatement( "delete from emp" );
 

Specified by:
deleteByQueryStatement in interface GlueGenericJdbcDao
Parameters:
queryStmt - SQL 쿼리문장
Returns:
삭제된 레코드 개수

deleteByQueryStatement

public <P> int deleteByQueryStatement(String queryStmt,
                                      GlueParameter<P> param)
Description copied from interface: GlueGenericJdbcDao
SQL 쿼리문장을 실행하여 Database Record를 삭제한다.
 List args = new ArrayList();
 args.add("10");
 GlueParameter<List> param = new GlueParameter<List>(args);
 int dmlCnt = dao.deleteByQueryStatement("delete from emp where deptno=?", param);
 
 

Specified by:
deleteByQueryStatement in interface GlueGenericJdbcDao
Parameters:
queryStmt - SQL 쿼리문장
param - 파라메터
Returns:
삭제된 레코드 개수

handleDataAccessException

protected GlueDaoException handleDataAccessException(org.springframework.dao.DataAccessException dae)
JDBC Layer에서 발생하는 DataAccessException을 GlueDaoException으로 변환 시켜준다.
- BadSqlGrammarException, DataIntegrityViolationException, UncategorizedSQLException

Parameters:
dae - DataAccessException
Returns:
GlueDaoException JDBC Layer에서 Exception 발생 시

batchUpdate

public <P> int[] batchUpdate(String queryKey,
                             GlueParameter<P>[] params)
Description copied from interface: GlueGenericJdbcDao
JDBC 2.0 Specification에 정의된 Batch Update를 실행한다. JDBC 드라이버가 batch update를 지원하지 않으면 일반 Update가 실행된다. 사용 방법은 아래 참조.
 final int count = 10;
 // batch update를 위한 GlueParameter 객체 배열 생성
 GlueParameter<List>[] params = new GlueParameter<List>[count];
 for (int i=0; i<params.length; i++)
 {
     List args = new ArrayList();
     args.add(dao.getSequence().getNextStringValue("SQ_NAME"));
     args.add("value");
     params[i] = new GlueParameter<List>(args);
 }
 int[] results = dao.batchUpdate("query-key", params);
 
 

쿼리 종류가 서로 다르다면 각각 batchUpdate 메소드를 호출하면 된다. 리턴되는 결과 값은 sql을 실행한 결과 로우 개수이다.

Specified by:
batchUpdate in interface GlueGenericJdbcDao
Parameters:
queryKey - 쿼리 키
params - GlueParameter Array
Returns:
각각의 Statement가 수행된 후 업데이트 된 Row 개수 배열

batchUpdateByQueryStatement

public <P> int[] batchUpdateByQueryStatement(String queryStmt,
                                             GlueParameter<P>[] params)
Description copied from interface: GlueGenericJdbcDao
JDBC 2.0 Specification에 정의된 Batch Update를 실행한다. JDBC 드라이버가 batch update를 지원하지 않으면 일반 Update가 실행된다. 사용 방법은 아래 참조.
 final int count = 10;
 // batch update를 위한 GlueParameter 객체 배열 생성
 GlueParameter<List>[] params = new GlueParameter<List>[count];
 for (int i=0; i<params.length; i++)
 {
     List args = new ArrayList();
     args.add(dao.getSequence().getNextStringValue("SQ_NAME"));
     args.add("value");
     params[i] = new GlueParameter<List>(args);
 }
 int[] results = dao.batchUpdateByQueryStatement("update <table> set <column1>=? where <column2>=?", params);
 
 

쿼리 종류가 서로 다르다면 각각 batchUpdate 메소드를 호출하면 된다. 리턴되는 결과 값은 sql을 실행한 결과 Row 개수이다.

Specified by:
batchUpdateByQueryStatement in interface GlueGenericJdbcDao
Parameters:
queryStmt - SQL 쿼리문장
params - GlueParameter Array
Returns:
각각의 Statement가 수행된 후 업데이트 된 Row 개수 배열


Copyright © 2013–2014 POSCO ICT SW제품기술팀. All rights reserved.