public class MyBatisSqlRunner extends java.lang.Object implements SqlRunner
MyBatis의 SqlSession이용하여 SQL을 실행하는 클래스.
MyBatis에서 제공하는 SqlSession은 한 SQL실행시마다 매번 객체를 생성하고 닫아야 하는데, 현재 여기 구현은 한 SqlSession을 계속 사용하도록 구현되어 있다. 따라서, Spring에서 제공하는 SqlSessionTemplate을 사용하던지, SqlSession을 매번 Set해 주어야 한다.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
COUNT_QUERY_SUFFIX |
Constructor and Description |
---|
MyBatisSqlRunner(org.apache.ibatis.session.SqlSession sqlSession)
SqlMapRunner 객체를 생성한다.
|
MyBatisSqlRunner(java.lang.String resource)
SqlMapRunner 객체를 생성한다.
|
Modifier and Type | Method and Description |
---|---|
int |
delete(java.lang.String id)
주어진 ID에 해당하는 DELETE 문을 호출하여 정보를 삭제한다.
|
int |
delete(java.lang.String id,
java.lang.Object parameterObject)
주어진 ID에 해당하는 DELETE 문을 호출하여 정보를 삭제한다.
|
static SqlRunner |
getSqlMapRunner(java.lang.String resource)
주어진 MyBatis SqlMap 설정 파일을 사용하는
SqlMapRunner 객체를 얻는다.
|
org.apache.ibatis.session.SqlSession |
getSqlSession() |
java.lang.Object |
insert(java.lang.String id)
주어진 ID에 해당하는 INSERT 문을 호출하여 새로운 정보를 등록한다.
|
java.util.List<? extends java.lang.Object> |
insert(java.lang.String id,
java.util.List<? extends java.lang.Object> objectList)
주어진 ID에 해당하는 INSERT 문으로 새로운 정보들을 등록한다.
|
java.lang.Object |
insert(java.lang.String id,
java.lang.Object parameterObject)
주어진 ID에 해당하는 INSERT 문을 호출하여 새로운 정보를 등록한다.
|
boolean |
queryForBool(java.lang.String sqlId,
java.lang.Object param)
SQL 실행 결과를 boolean 값으로 돌려 준다.
|
boolean |
queryForBool(java.lang.String sqlId,
java.lang.Object param,
boolean def)
SQL 실행 결과를 boolean 값으로 돌려 준다.
|
float |
queryForFloat(java.lang.String sqlId,
java.lang.Object param)
SQL 실행 결과를 float 값으로 돌려 준다.
|
float |
queryForFloat(java.lang.String sqlId,
java.lang.Object param,
float def)
SQL 실행 결과를 float 값으로 돌려 준다.
|
<E> java.util.Map<java.lang.Object,java.util.List<E>> |
queryForGroup(java.lang.String sqlId,
java.lang.Object param,
java.lang.String groupKeyProp)
특정 컬럼의 같은 값을 키로, 이 키 값을 갖는 레코드들 목록을 값으로
갖는 Map 객체를 돌려 준다.
|
<E> java.util.Map<java.lang.Object,java.util.List<E>> |
queryForGroup(java.lang.String sqlId,
java.lang.Object param,
java.lang.String groupKeyProp,
java.lang.String valueProp)
특정 컬럼의 같은 값을 키로, 이 키 값을 갖는 레코드들 목록을 값으로
갖는 Map 객체를 돌려 준다.
|
<T> java.util.Map<java.lang.Object,java.util.List<T>> |
queryForGroup(java.lang.String sqlId,
java.lang.String relSqlId,
java.lang.Object param,
java.lang.String groupKeyProp,
java.lang.String entityKeyProp)
특정 컬럼의 같은 값을 키로, 이 키 값을 갖는 레코드들 목록을 값으로
갖는 Map 객체를 돌려 준다.
|
int |
queryForInt(java.lang.String sqlId,
java.lang.Object param)
SQL 실행 결과를 int 값으로 돌려 준다.
|
int |
queryForInt(java.lang.String sqlId,
java.lang.Object param,
int def)
SQL 실행 결과를 int 값으로 돌려 준다.
|
<E> java.util.List<E> |
queryForList(java.lang.String sqlId)
목록을 조회한다.
|
<E> java.util.List<E> |
queryForList(java.lang.String sqlId,
int skip,
int max) |
<E> java.util.List<E> |
queryForList(java.lang.String sqlId,
java.lang.Object param)
목록을 조회한다.
|
<T> java.util.List<T> |
queryForList(java.lang.String sqlId,
java.lang.Object param,
int skip)
특정 갯수의 이후의 항목들의 모든 목록을 조회한다.
|
<E> java.util.List<E> |
queryForList(java.lang.String sqlId,
java.lang.Object param,
int skip,
int maxSize)
특정 갯수의 이후의 항목들의 목록을 조회한다.
|
<T> java.util.Map<java.lang.Object,T> |
queryForMap(java.lang.String sqlId,
java.lang.Object param,
java.lang.String keyProp)
한 컬럼의 값을 키로, 그 값에 해당하는 레코드를 값으로 하는 Map 객체를 돌려 준다.
|
<V> java.util.Map<java.lang.Object,V> |
queryForMap(java.lang.String sqlId,
java.lang.Object param,
java.lang.String keyProp,
java.lang.String valueProp)
한 컬럼의 값을 키로, 다른 칼럼의 값을 값으로 하는 Map 객체를 돌려 준다.
|
<T> T |
queryForObject(java.lang.String sqlId,
java.lang.Object param)
조건을 만족하는 첫번째 레코드 정보를 담은 객체를 돌려 준다.
|
<T> PageList<T> |
queryForPage(java.lang.String listSqlId,
java.lang.Object param,
int pageNo,
int pageSize)
특정 페이지 목록을 조회한다.
|
<T> PageList<T> |
queryForPage(java.lang.String listSqlId,
java.lang.String countSqlId,
java.lang.Object param,
int pageNo,
int pageSize)
특정 페이지 목록을 조회한다.
|
java.lang.String |
queryForString(java.lang.String sqlId,
java.lang.Object param)
SQL 실행 결과를 String 값으로 돌려 준다.
|
java.lang.String |
queryForString(java.lang.String sqlId,
java.lang.Object param,
java.lang.String def)
SQL 실행 결과를 String 값으로 돌려 준다.
|
<E> void |
queryWithRowHandler(java.lang.String id,
int skip,
int max,
RowHandler<E> rowHandler)
조회된 매 정보마다 RowHandler 객체에 처리를 위임한다.
|
<E> void |
queryWithRowHandler(java.lang.String id,
int skip,
RowHandler<E> rowHandler)
조회된 매 정보마다 RowHandler 객체에 처리를 위임한다.
|
<E> void |
queryWithRowHandler(java.lang.String id,
java.lang.Object parameterObject,
int skip,
int loopSize,
int max,
RowHandler<E> rowHandler)
주어진 조건을 만족하는 조회된 매 정보마다 RowHandler 객체에 처리를 위임한다.
|
<E> void |
queryWithRowHandler(java.lang.String id,
java.lang.Object parameterObject,
int skip,
int max,
RowHandler<E> rowHandler)
주어진 조건을 만족하는 조회된 매 정보마다 RowHandler 객체에 처리를 위임한다.
|
<E> void |
queryWithRowHandler(java.lang.String id,
java.lang.Object parameterObject,
int skip,
RowHandler<E> rowHandler)
주어진 조건을 만족하는 조회된 매 정보마다 RowHandler 객체에 처리를 위임한다.
|
<E> void |
queryWithRowHandler(java.lang.String id,
java.lang.Object parameterObject,
RowHandler<E> rowHandler)
주어진 조건을 만족하는 조회된 매 정보마다 RowHandler 객체에 처리를 위임한다.
|
<E> void |
queryWithRowHandler(java.lang.String id,
RowHandler<E> rowHandler)
조회된 매 정보마다 RowHandler 객체에 처리를 위임한다.
|
void |
setSqlSession(org.apache.ibatis.session.SqlSession sqlSession) |
int |
update(java.lang.String id)
주어진 ID에 해당하는 UPDATE 문을 호출하여 정보를 갱신한다.
|
int |
update(java.lang.String id,
java.lang.Object parameterObject)
주어진 ID에 해당하는 UPDATE 문을 호출하여 정보를 갱신한다.
|
public static final java.lang.String COUNT_QUERY_SUFFIX
public MyBatisSqlRunner(java.lang.String resource)
resource
- MyBatis SqlMap 설정 파일 경로.public MyBatisSqlRunner(org.apache.ibatis.session.SqlSession sqlSession)
SqlSession
- sqlSession.public static SqlRunner getSqlMapRunner(java.lang.String resource)
resource
- MyBatis SqlMap 설정 파일 경로.public org.apache.ibatis.session.SqlSession getSqlSession()
public void setSqlSession(org.apache.ibatis.session.SqlSession sqlSession)
sqlSession
- the sqlSession to setpublic java.lang.Object insert(java.lang.String id, java.lang.Object parameterObject)
SqlRunner
주어진 ID에 해당하는 INSERT 문을 호출하여 새로운 정보를 등록한다.
실행 결과 반환되는 값은 실행되는 <insert ...> ~ </insert> 태그 내에 <selectKey ...> ~ </selectKey> 내부의 SELECT문 실행결과 얻어지는 값이다.
insert
in interface SqlRunner
SqlRunner.insert(java.lang.String, java.lang.Object)
public java.lang.Object insert(java.lang.String id)
SqlRunner
주어진 ID에 해당하는 INSERT 문을 호출하여 새로운 정보를 등록한다.
드물긴 하지만, 실행되는 <insert ...> ~ </insert> 안의 INSERT 문에 이미 값까지 있는 경우 사용한다.
insert
in interface SqlRunner
SqlRunner.insert(java.lang.String)
public java.util.List<? extends java.lang.Object> insert(java.lang.String id, java.util.List<? extends java.lang.Object> objectList)
SqlRunner
주어진 ID에 해당하는 INSERT 문으로 새로운 정보들을 등록한다.
실행 결과 반환되는 값은 실행되는 <insert ...> ~ </insert> 태그 내에 <selectKey ...> ~ </selectKey> 내부의 SELECT문 실행결과 얻어지는 값이다.
insert
in interface SqlRunner
SqlRunner.insert(java.lang.String, java.util.List)
public int update(java.lang.String id, java.lang.Object parameterObject)
SqlRunner
주어진 ID에 해당하는 UPDATE 문을 호출하여 정보를 갱신한다.
update
in interface SqlRunner
id
- 실행할 SQL문의 ID.parameterObject
- 갱신할 정보(갱신할 값과 조건에 사용될 값)를 담은 파라미터.SqlRunner.update(java.lang.String, java.lang.Object)
public int update(java.lang.String id)
SqlRunner
주어진 ID에 해당하는 UPDATE 문을 호출하여 정보를 갱신한다.
update
in interface SqlRunner
id
- 실행할 SQL문의 ID.SqlRunner.update(java.lang.String)
public int delete(java.lang.String id, java.lang.Object parameterObject)
SqlRunner
주어진 ID에 해당하는 DELETE 문을 호출하여 정보를 삭제한다.
delete
in interface SqlRunner
id
- 실행할 SQL문의 ID.parameterObject
- 삭제될 조건에 사용될 값을 담은 파라미터.SqlRunner.delete(java.lang.String, java.lang.Object)
public int delete(java.lang.String id)
SqlRunner
주어진 ID에 해당하는 DELETE 문을 호출하여 정보를 삭제한다.
delete
in interface SqlRunner
id
- 실행할 SQL문의 ID.SqlRunner.delete(java.lang.String)
public <E> void queryWithRowHandler(java.lang.String id, RowHandler<E> rowHandler)
SqlRunner
queryWithRowHandler
in interface SqlRunner
RowHandler.handleRow(Object)
,
SqlRunner.queryWithRowHandler(String, net.waglewagle.db.RowHandler)
public <E> void queryWithRowHandler(java.lang.String id, java.lang.Object parameterObject, RowHandler<E> rowHandler)
SqlRunner
queryWithRowHandler
in interface SqlRunner
id
- 실행할 SQL ID.parameterObject
- 조회 조건정보를 담고 있는 객체.rowHandler
- 매 Row마다 처리할 RowHandler
객체.RowHandler.handleRow(Object)
,
SqlRunner.queryWithRowHandler(String, Object, net.waglewagle.db.RowHandler)
public <E> void queryWithRowHandler(java.lang.String id, int skip, RowHandler<E> rowHandler)
SqlRunner
queryWithRowHandler
in interface SqlRunner
id
- 실행할 SQL ID.skip
- 조회되는 목록 중 처리를 건너뛸 정보 수.RowHandler.handleRow(Object)
,
SqlRunner.queryWithRowHandler(String, int, net.waglewagle.db.RowHandler)
public <E> void queryWithRowHandler(java.lang.String id, java.lang.Object parameterObject, int skip, RowHandler<E> rowHandler)
SqlRunner
queryWithRowHandler
in interface SqlRunner
id
- 실행할 SQL ID.parameterObject
- 조회 조건정보를 담고 있는 객체.skip
- 조회되는 목록 중 처리를 건너뛸 정보 수.rowHandler
- 매 Row마다 처리할 RowHandler
객체.RowHandler.handleRow(Object)
,
SqlRunner#queryWithRowHandler(String, Object, iint, net.waglewagle.db.RowHandler)
public <E> void queryWithRowHandler(java.lang.String id, int skip, int max, RowHandler<E> rowHandler)
SqlRunner
queryWithRowHandler
in interface SqlRunner
id
- 실행할 SQL ID.skip
- 조회되는 목록 중 처리를 건너뛸 정보 수.max
- 조회되는 전체 목록 중 skip 파라미터 값만큼 건너뛴 후 최대로 처리할 정보 수.RowHandler.handleRow(Object)
,
SqlRunner.queryWithRowHandler(String, int, int, net.waglewagle.db.RowHandler)
public <E> void queryWithRowHandler(java.lang.String id, java.lang.Object parameterObject, int skip, int max, RowHandler<E> rowHandler)
SqlRunner
queryWithRowHandler
in interface SqlRunner
id
- 실행할 SQL ID.parameterObject
- 조회 조건정보를 담고 있는 객체.skip
- 조회되는 목록 중 처리를 건너뛸 정보 수.max
- 조회되는 전체 목록 중 skip 파라미터 값만큼 건너뛴 후 최대로 처리할 정보 수.rowHandler
- 매 Row마다 처리할 RowHandler
객체.RowHandler.handleRow(Object)
,
SqlRunner.queryWithRowHandler(String, Object, int, int, net.waglewagle.db.RowHandler)
public <E> void queryWithRowHandler(java.lang.String id, java.lang.Object parameterObject, int skip, int loopSize, int max, RowHandler<E> rowHandler)
SqlRunner
queryWithRowHandler
in interface SqlRunner
id
- 실행할 SQL ID.parameterObject
- 조회 조건정보를 담고 있는 객체.skip
- 조회되는 목록 중 처리를 건너뛸 정보 수.loopSize
- 조회되는 목록 중 처리를 건너뛸 정보 수.max
- 조회되는 전체 목록 중 skip 파라미터 값만큼 건너뛴 후 최대로 처리할 정보 수.rowHandler
- 매 Row마다 처리할 RowHandler
객체.RowHandler.handleRow(Object)
,
SqlRunner.queryWithRowHandler(String, Object, int, int, int, net.waglewagle.db.RowHandler)
public <T> T queryForObject(java.lang.String sqlId, java.lang.Object param)
SqlRunner
queryForObject
in interface SqlRunner
net.waglewagle.db.SqlRunner#queryForObject(java.lang.String, java.util.Map)
public <E> java.util.List<E> queryForList(java.lang.String sqlId)
SqlRunner
queryForList
in interface SqlRunner
net.waglewagle.db.SqlRunner#selectList(java.lang.String)
public <E> java.util.List<E> queryForList(java.lang.String sqlId, java.lang.Object param)
SqlRunner
queryForList
in interface SqlRunner
net.waglewagle.db.SqlRunner#selectList(java.lang.String, java.util.Map)
public <E> java.util.List<E> queryForList(java.lang.String sqlId, int skip, int max)
queryForList
in interface SqlRunner
net.waglewagle.db.SqlRunner#selectList(java.lang.String, int, int)
public <E> java.util.Map<java.lang.Object,java.util.List<E>> queryForGroup(java.lang.String sqlId, java.lang.Object param, java.lang.String groupKeyProp)
SqlRunner
queryForGroup
in interface SqlRunner
sqlId
- 실행할 SQL ID.param
- 실행할 때 사용할 파라미터.groupKeyProp
- 그룹 Key로 사용할 속성명.net.waglewagle.db.SqlRunner#queryForGroup(java.lang.String, java.util.Map, java.lang.String)
public <E> java.util.Map<java.lang.Object,java.util.List<E>> queryForGroup(java.lang.String sqlId, java.lang.Object param, java.lang.String groupKeyProp, java.lang.String valueProp)
SqlRunner
queryForGroup
in interface SqlRunner
sqlId
- 실행할 SQL ID.param
- 실행할 때 사용할 파라미터.groupKeyProp
- 그룹 Key로 사용할 속성명.valueProp
- 값으로 사용할 속성명.net.waglewagle.db.SqlRunner#queryForGroup(java.lang.String, java.util.Map, java.lang.String, java.lang.String)
public <T> java.util.Map<java.lang.Object,java.util.List<T>> queryForGroup(java.lang.String sqlId, java.lang.String relSqlId, java.lang.Object param, java.lang.String groupKeyProp, java.lang.String entityKeyProp)
SqlRunner
queryForGroup
in interface SqlRunner
sqlId
- 실행할 SQL ID.relSqlId
- 관계 정보를 조회할 SQL ID.param
- 실행할 때 사용할 파라미터.groupKeyProp
- 그룹 Key로 사용할 속성명.entityKeyProp
- 그룹 Key로 사용할 속성명.net.waglewagle.db.SqlRunner#queryForGroup(java.lang.String, java.lang.String, java.util.Map, java.lang.String, java.lang.String)
public <T> java.util.List<T> queryForList(java.lang.String sqlId, java.lang.Object param, int skip)
SqlRunner
queryForList
in interface SqlRunner
sqlId
- 목록을 조회하기 위한 SQL ID.param
- 조회 조건.skip
- 건너 뛸 갯수(0부터 시작).net.waglewagle.db.SqlRunner#selectList(java.lang.String, java.util.Map, int)
public <E> java.util.List<E> queryForList(java.lang.String sqlId, java.lang.Object param, int skip, int maxSize)
SqlRunner
queryForList
in interface SqlRunner
sqlId
- 목록을 조회하기 위한 SQL ID.param
- 조회 조건.skip
- 건너 뛸 갯수(0부터 시작).maxSize
- 최대 가져올 갯수.net.waglewagle.db.SqlRunner#selectList(java.lang.String, java.util.Map, int, int)
public <T> java.util.Map<java.lang.Object,T> queryForMap(java.lang.String sqlId, java.lang.Object param, java.lang.String keyProp)
SqlRunner
queryForMap
in interface SqlRunner
sqlId
- 실행할 SQL ID.param
- 실행할 때 사용할 파라미터.keyProp
- 그룹 Key로 사용할 속성명.net.waglewagle.db.SqlRunner#queryForMap(java.lang.String, java.util.Map, java.lang.String)
public <V> java.util.Map<java.lang.Object,V> queryForMap(java.lang.String sqlId, java.lang.Object param, java.lang.String keyProp, java.lang.String valueProp)
SqlRunner
queryForMap
in interface SqlRunner
sqlId
- 실행할 SQL ID.param
- 실행할 때 사용할 파라미터.keyProp
- 그룹 Key로 사용할 속성명.valueProp
- 값으로 사용할 속성명.net.waglewagle.db.SqlRunner#queryForMap(java.lang.String, java.util.Map, java.lang.String, java.lang.String)
public <T> PageList<T> queryForPage(java.lang.String listSqlId, java.lang.Object param, int pageNo, int pageSize)
SqlRunner
queryForPage
in interface SqlRunner
listSqlId
- 목록을 조회하기 위한 SQL ID.param
- 조회 조건.pageNo
- 조회하려는 페이지 번호(1부터 시작).pageSize
- 한 페이지당 크기(1이상).net.waglewagle.db.SqlRunner#queryForPage(java.lang.String, java.util.Map, int, int)
public <T> PageList<T> queryForPage(java.lang.String listSqlId, java.lang.String countSqlId, java.lang.Object param, int pageNo, int pageSize)
SqlRunner
queryForPage
in interface SqlRunner
listSqlId
- 목록을 조회하기 위한 SQL ID.countSqlId
- 레코드 수를 조회하기 위한 SQL ID.param
- 조회 조건.pageNo
- 조회하려는 페이지 번호(1부터 시작).pageSize
- 한 페이지당 크기(1이상).net.waglewagle.db.SqlRunner#queryForPage(java.lang.String, java.lang.String, java.util.Map, int, int)
public java.lang.String queryForString(java.lang.String sqlId, java.lang.Object param)
SqlRunner
queryForString
in interface SqlRunner
sqlId
- 실행할 SQL ID.param
- 조회 조건.net.waglewagle.db.SqlRunner#queryForString(java.lang.String, java.util.Map)
public java.lang.String queryForString(java.lang.String sqlId, java.lang.Object param, java.lang.String def)
SqlRunner
queryForString
in interface SqlRunner
sqlId
- 실행할 SQL ID.param
- 조회 조건.def
- 조회된 결과가 없을 때 돌려 줄 값.net.waglewagle.db.SqlRunner#queryForString(java.lang.String, java.util.Map, java.lang.String)
public int queryForInt(java.lang.String sqlId, java.lang.Object param)
SqlRunner
queryForInt
in interface SqlRunner
sqlId
- 실행할 SQL ID.param
- 조회 조건.net.waglewagle.db.SqlRunner#queryForInt(java.lang.String, java.util.Map)
public int queryForInt(java.lang.String sqlId, java.lang.Object param, int def)
SqlRunner
queryForInt
in interface SqlRunner
sqlId
- 실행할 SQL ID.param
- 조회 조건.def
- 조회된 결과가 없을 때 돌려 줄 값.net.waglewagle.db.SqlRunner#queryForInt(java.lang.String, java.util.Map, int)
public float queryForFloat(java.lang.String sqlId, java.lang.Object param)
SqlRunner
queryForFloat
in interface SqlRunner
sqlId
- 실행할 SQL ID.param
- 조회 조건.net.waglewagle.db.SqlRunner#queryForFloat(java.lang.String, java.util.Map)
public float queryForFloat(java.lang.String sqlId, java.lang.Object param, float def)
SqlRunner
queryForFloat
in interface SqlRunner
sqlId
- 실행할 SQL ID.param
- 조회 조건.def
- 조회된 결과가 없을 때 돌려 줄 값.net.waglewagle.db.SqlRunner#queryForFloat(java.lang.String, java.util.Map, float)
public boolean queryForBool(java.lang.String sqlId, java.lang.Object param)
SqlRunner
queryForBool
in interface SqlRunner
sqlId
- 실행할 SQL ID.param
- 조회 조건.net.waglewagle.db.SqlRunner#queryForBool(java.lang.String, java.util.Map)
public boolean queryForBool(java.lang.String sqlId, java.lang.Object param, boolean def)
SqlRunner
queryForBool
in interface SqlRunner
sqlId
- 실행할 SQL ID.param
- 조회 조건.def
- 조회된 결과가 없을 때 돌려 줄 값.net.waglewagle.db.SqlRunner#queryForBool(java.lang.String, java.util.Map, boolean)