|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.springframework.dao.support.DaoSupport
org.springframework.jdbc.core.support.JdbcDaoSupport
org.springframework.jdbc.core.namedparam.NamedParameterJdbcDaoSupport
com.poscoict.glueframework.dao.jdbc.GlueJdbcDao
public class GlueJdbcDao
데이타베이스 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] 사용 예
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 | ||
---|---|---|
|
batchUpdate(String queryKey,
GlueParameter<P>[] params)
JDBC 2.0 Specification에 정의된 Batch Update를 실행한다. |
|
|
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를 삭제한다. |
|
|
delete(String queryKey,
GlueParameter<P> param)
쿼리 키에 해당하는 SQL 쿼리문장을 실행하여 Database Record를 삭제한다. |
|
int |
deleteByQueryStatement(String queryStmt)
SQL 쿼리문장을 실행하여 Database Record를 삭제한다. |
|
|
deleteByQueryStatement(String queryStmt,
GlueParameter<P> param)
SQL 쿼리문장을 실행하여 Database Record를 삭제한다. |
|
|
find(String queryKey)
쿼리 키에 해당하는 Static SQL 쿼리(바인딩 변수가 없는 쿼리)를 실행하여 조건에 해당하는 Database Record를 검색한다. |
|
|
find(String queryKey,
GlueParameter<P> param)
쿼리 키에 해당하는 SQL 쿼리문장을 실행하여 조건에 해당하는 Database Record를 검색한다. |
|
|
find(String queryKey,
String whereClause,
GlueParameter<P> param)
쿼리 키에 해당하는 SQL 쿼리문장에 where 절을 적용하여 조건에 해당하는 Database Record를 검색한다. |
|
|
findByQueryStatement(String queryStmt)
Static SQL 쿼리(바인딩 변수가 없는 쿼리)를 실행하여 조건에 해당하는 Database Record를 검색한다. |
|
|
findByQueryStatement(String queryStmt,
GlueParameter<P> param)
SQL 쿼리문장을 실행하여 조건에 해당하는 Database Record를 검색한다. |
|
|
findForNavigationPage(String queryKey,
GlueParameter<P> param,
int pageSize,
int curPage)
Page Set 기능을 지원하는 메소드이다. |
|
GluePageSet |
findForNavigationPage(String queryKey,
int pageSize,
int curPage)
Page Set 기능을 지원하는 메소드이다. |
|
|
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를 생성한다. |
|
|
insert(String queryKey,
GlueParameter<P> param)
쿼리 키에 해당하는 SQL 쿼리문장을 실행하여 Database Record를 생성한다. |
|
int |
insertByQueryStatement(String queryStmt)
SQL 쿼리(바인딩 변수가 없는 쿼리)를 실행하여 Database Record를 생성한다. |
|
|
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를 수정한다. |
|
|
update(String queryKey,
GlueParameter<P> param)
쿼리 키에 해당하는 SQL 쿼리문장을 실행하여 조건에 해당하는 Database Record를 수정한다. |
|
int |
updateByQueryStatement(String queryStmt)
Static SQL 쿼리(바인딩 변수가 없는 쿼리)를 실행하여 조건에 해당하는 Database Record를 수정한다. |
|
|
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 |
---|
protected GlueQueryManager queryManager
protected GlueSequence sequence
protected org.springframework.jdbc.support.lob.LobHandler lobHandler
Constructor Detail |
---|
public GlueJdbcDao()
Method Detail |
---|
protected org.springframework.jdbc.core.JdbcTemplate createJdbcTemplate(DataSource dataSource)
createJdbcTemplate
in class org.springframework.jdbc.core.support.JdbcDaoSupport
public GlueQueryManager getQueryManager()
GlueGenericJdbcDao
getQueryManager
in interface GlueGenericJdbcDao
public void setQueryManager(GlueQueryManager queryManager)
queryManager
- Query Managerpublic void setColumnManager(GlueColumnManager columnManager)
columnManager
- public void setTypeCast(boolean typeCast)
typeCast
- public GlueSequence getSequence()
GlueGenericJdbcDao
getSequence
in interface GlueGenericJdbcDao
public void setSequence(GlueSequence sequence)
public void setLobHandler(org.springframework.jdbc.support.lob.LobHandler lobHandler)
public int getBatchUpdateLimit()
public void setBatchUpdateLimit(int batchUpdateLimit)
batchUpdateLimit
- public String getDatabaseProductName()
public Connection getDBConnection()
public void releaseDBConnection(Connection con)
public <T> List<T> find(String queryKey)
GlueGenericDao
find
in interface GlueGenericDao
queryKey
- 쿼리 키
public <T,P> List<T> find(String queryKey, GlueParameter<P> param)
GlueGenericDao
find
in interface GlueGenericDao
queryKey
- 쿼리 키param
- 파라메터
public <T,P> List<T> find(String queryKey, String whereClause, GlueParameter<P> param)
GlueGenericJdbcDao
find
in interface GlueGenericJdbcDao
queryKey
- 쿼리 키whereClause
- where 절param
- 파라메터
public <T> List<T> findByQueryStatement(String queryStmt)
GlueGenericJdbcDao
List rowset = dao.findByQueryStatement( "select * from emp" );
findByQueryStatement
in interface GlueGenericJdbcDao
queryStmt
- SQL 쿼리문장
public <T,P> List<T> findByQueryStatement(String queryStmt, GlueParameter<P> param)
GlueGenericJdbcDao
List args = new ArrayList(); args.add("9999"); GlueParameter param = new GlueParameter
(args); List rowset = dao.findByQueryStatement("select * from emp where empno=?", param);
findByQueryStatement
in interface GlueGenericJdbcDao
queryStmt
- SQL 쿼리문장param
- 파라메터
public GluePageSet findForNavigationPage(String queryKey, int pageSize, int curPage)
GlueGenericJdbcDao
findForNavigationPage
in interface GlueGenericJdbcDao
queryKey
- 쿼리 키pageSize
- 한 화면에 Display 될 로우 개수curPage
- 현재 페이지 번호
public <P> GluePageSet findForNavigationPage(String queryKey, GlueParameter<P> param, int pageSize, int curPage)
GlueGenericJdbcDao
findForNavigationPage
in interface GlueGenericJdbcDao
queryKey
- 쿼리 키param
- 바인딩 파라메터pageSize
- 한 화면에 Display 될 로우 개수curPage
- 현재 페이지 번호
public GluePageSet findForNavigationPageByQuery(String queryStmt, int pageSize, int curPage)
GlueGenericJdbcDao
GluePageSet rowset = dao.findForNavigationPageByQuery( "select * from emp", 15, 5 );
findForNavigationPageByQuery
in interface GlueGenericJdbcDao
queryStmt
- SQL 쿼리문장pageSize
- 한 화면에 Display 될 로우 개수curPage
- 현재 페이지 번호
public <P> GluePageSet findForNavigationPageByQuery(String queryStmt, GlueParameter<P> param, int pageSize, int curPage)
GlueGenericJdbcDao
List args = new ArrayList(); args.add("10"); GlueParameter param = new GlueParameter
(args); GluePageSet rowset = dao.findForNavigationPageByQuery("select * from emp where deptno=?", param, 15, 5);
findForNavigationPageByQuery
in interface GlueGenericJdbcDao
queryStmt
- SQL 쿼리문장param
- 바인딩 파라메터pageSize
- 한 화면에 Display 될 로우 개수curPage
- 현재 페이지 번호
public int update(String queryKey)
GlueGenericDao
update
in interface GlueGenericDao
queryKey
- 쿼리 키
public <P> int update(String queryKey, GlueParameter<P> param)
GlueGenericDao
update
in interface GlueGenericDao
queryKey
- 쿼리 키param
- 파라메터
public int updateByQueryStatement(String queryStmt)
GlueGenericJdbcDao
int dmlCnt = dao.updateByQueryStatement( "update emp set ename='guest' where empno=9999" );
updateByQueryStatement
in interface GlueGenericJdbcDao
queryStmt
- SQL 쿼리문장
public <P> int updateByQueryStatement(String queryStmt, GlueParameter<P> param)
GlueGenericJdbcDao
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);
updateByQueryStatement
in interface GlueGenericJdbcDao
queryStmt
- SQL 쿼리문장param
- 파라메터
public int insert(String queryKey)
GlueGenericDao
insert
in interface GlueGenericDao
queryKey
- 쿼리 키
public <P> int insert(String queryKey, GlueParameter<P> param)
GlueGenericDao
insert
in interface GlueGenericDao
queryKey
- 쿼리 키param
- 파라메터
public int insertByQueryStatement(String queryStmt)
GlueGenericJdbcDao
int dmlCnt = dao.insertByQueryStatement( "insert into emp(EMPNO, ENAME) values(9999,'guest')" );
insertByQueryStatement
in interface GlueGenericJdbcDao
queryStmt
- SQL 쿼리문장
public <P> int insertByQueryStatement(String queryStmt, GlueParameter<P> param)
GlueGenericJdbcDao
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);
insertByQueryStatement
in interface GlueGenericJdbcDao
queryStmt
- SQL 쿼리문장param
- 파라메터
public int delete(String queryKey)
GlueGenericDao
delete
in interface GlueGenericDao
queryKey
- 쿼리 키
public <P> int delete(String queryKey, GlueParameter<P> param)
GlueGenericDao
delete
in interface GlueGenericDao
queryKey
- 쿼리 키param
- 파라메터
public int deleteByQueryStatement(String queryStmt)
GlueGenericJdbcDao
int dmlCnt = dao.deleteByQueryStatement( "delete from emp" );
deleteByQueryStatement
in interface GlueGenericJdbcDao
queryStmt
- SQL 쿼리문장
public <P> int deleteByQueryStatement(String queryStmt, GlueParameter<P> param)
GlueGenericJdbcDao
List args = new ArrayList(); args.add("10"); GlueParameter param = new GlueParameter
(args); int dmlCnt = dao.deleteByQueryStatement("delete from emp where deptno=?", param);
deleteByQueryStatement
in interface GlueGenericJdbcDao
queryStmt
- SQL 쿼리문장param
- 파라메터
protected GlueDaoException handleDataAccessException(org.springframework.dao.DataAccessException dae)
dae
- DataAccessException
public <P> int[] batchUpdate(String queryKey, GlueParameter<P>[] params)
GlueGenericJdbcDao
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);
쿼리 종류가 서로 다르다면 각각 batchUpdate 메소드를 호출하면 된다. 리턴되는 결과 값은 sql을 실행한 결과 로우 개수이다.
batchUpdate
in interface GlueGenericJdbcDao
queryKey
- 쿼리 키params
- GlueParameter Array
public <P> int[] batchUpdateByQueryStatement(String queryStmt, GlueParameter<P>[] params)
GlueGenericJdbcDao
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 개수이다.
- Specified by:
batchUpdateByQueryStatement
in interfaceGlueGenericJdbcDao
- Parameters:
queryStmt
- SQL 쿼리문장params
- GlueParameter Array- Returns:
- 각각의 Statement가 수행된 후 업데이트 된 Row 개수 배열
Overview Package Class Use Tree Deprecated Index Help PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
Copyright © 2013–2014 POSCO ICT SW제품기술팀. All rights reserved.