Class UstraProcedureManager
java.lang.Object
com.gsitm.ustra.java.data.utils.procedure.UstraProcedureManager
- Direct Known Subclasses:
UstraMySqlProcedureManager,UstraOracleProcedureManager,UstraPostgreProcedureManager,UstraSqlProcedureManager
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.springframework.jdbc.core.JdbcTemplate -
Constructor Summary
ConstructorsConstructorDescriptionUstraProcedureManager(DataSource dataSource) UstraProcedureManager(org.springframework.jdbc.core.JdbcTemplate jdbcTemplate) -
Method Summary
Modifier and TypeMethodDescriptionprotected org.springframework.jdbc.core.simple.SimpleJdbcCallapplyOptionFunctionJdbcCall(org.springframework.jdbc.core.simple.SimpleJdbcCall jdbcCall, ProcedureCallOption<?> option, List<org.springframework.jdbc.core.SqlParameter> sqlParameters) Function Option 적용protected org.springframework.jdbc.core.simple.SimpleJdbcCallapplyOptionProcedureJdbcCall(org.springframework.jdbc.core.simple.SimpleJdbcCall jdbcCall, ProcedureCallOption<?> option, List<org.springframework.jdbc.core.SqlParameter> sqlParameters) Procedure Option 적용<R> ProcedureCallResult<R>call(ProcedureCallOption<R> option) 프로시져를 호출protected org.springframework.jdbc.core.simple.SimpleJdbcCallcreateSimpleJdbcCall(ProcedureCallOption<?> option) SimpleJdbcCall 객체 생성getResultSetKeys(List<org.springframework.jdbc.core.SqlParameter> params) CURSOR 유형의 파라메터를 추출abstract List<org.springframework.jdbc.core.SqlParameter>getSqlParameters(String procedureName, String schemaName, String databaseName, String dataSourceName) 프로시저의 파라메터 목록 생성protected booleanhasParameterKey(org.springframework.jdbc.core.SqlParameter sqlParameter, Map<String, Object> parameterMap) SQL 파라메터의 키 값 존재 여부 검사mapParameter(Map<String, Object> parameterMap, List<org.springframework.jdbc.core.SqlParameter> sqlParameters, ProcedureCallOption<?> option) 호출 전 파라메터를 필터링 한다.protected voidnormalizeOption(ProcedureCallOption<?> option) 프로시져 옵션을 정규화 한다.normalizeParameter(Object parameter, ProcedureCallOption<?> option) 파라메터를 정규화 한다.protected <R> RnormalizeReturnValue(Map<String, Object> returnMap, ProcedureCallOption<R> option) 결과 값을 정규화 한다.
-
Field Details
-
jdbcTemplate
protected org.springframework.jdbc.core.JdbcTemplate jdbcTemplate
-
-
Constructor Details
-
UstraProcedureManager
public UstraProcedureManager(org.springframework.jdbc.core.JdbcTemplate jdbcTemplate) -
UstraProcedureManager
-
-
Method Details
-
getSqlParameters
public abstract List<org.springframework.jdbc.core.SqlParameter> getSqlParameters(String procedureName, String schemaName, String databaseName, String dataSourceName) 프로시저의 파라메터 목록 생성- Parameters:
procedureName- 프로시져 명schemaName- 스키마 명databaseName- 데이터베이스 명dataSourceName- 데이터소스 명- Returns:
- 파라메터 목록
-
getResultSetKeys
protected abstract List<String> getResultSetKeys(List<org.springframework.jdbc.core.SqlParameter> params) CURSOR 유형의 파라메터를 추출- Parameters:
params-- Returns:
-
call
프로시져를 호출- Type Parameters:
R- 반환 형식- Parameters:
option- 호출 옵션
-
createSimpleJdbcCall
protected org.springframework.jdbc.core.simple.SimpleJdbcCall createSimpleJdbcCall(@NonNull ProcedureCallOption<?> option) SimpleJdbcCall 객체 생성- Parameters:
option-- Returns:
- SimpleJdbcCall 객체
-
applyOptionProcedureJdbcCall
protected org.springframework.jdbc.core.simple.SimpleJdbcCall applyOptionProcedureJdbcCall(org.springframework.jdbc.core.simple.SimpleJdbcCall jdbcCall, @NonNull ProcedureCallOption<?> option, List<org.springframework.jdbc.core.SqlParameter> sqlParameters) Procedure Option 적용- Parameters:
jdbcCall- jdbcCalloption- 호출 옵션sqlParameters- SQL 파라메터 목록- Returns:
- SimpleJdbcCall 객체
-
applyOptionFunctionJdbcCall
protected org.springframework.jdbc.core.simple.SimpleJdbcCall applyOptionFunctionJdbcCall(org.springframework.jdbc.core.simple.SimpleJdbcCall jdbcCall, @NonNull ProcedureCallOption<?> option, List<org.springframework.jdbc.core.SqlParameter> sqlParameters) Function Option 적용- Parameters:
jdbcCall- jdbcCalloption- 호출 옵션sqlParameters- SQL 파라메터 목록- Returns:
- SimpleJdbcCall 객체
-
normalizeOption
프로시져 옵션을 정규화 한다. - 기본 옵션 변경이 필요한 경우, override하여 별도 구현한다.- Parameters:
option-
-
normalizeParameter
protected Map<String,Object> normalizeParameter(Object parameter, @NonNull ProcedureCallOption<?> option) 파라메터를 정규화 한다.- Parameters:
parameter- 파라메터option- 옵션- Returns:
-
mapParameter
protected Map<String,Object> mapParameter(Map<String, Object> parameterMap, List<org.springframework.jdbc.core.SqlParameter> sqlParameters, @NonNull ProcedureCallOption<?> option) 호출 전 파라메터를 필터링 한다.- Parameters:
parameterMap- 파라메터sqlParameters- SQL 파라메터 목록option- 옵션- Returns:
- 호출 파라메터 목록
-
hasParameterKey
protected boolean hasParameterKey(org.springframework.jdbc.core.SqlParameter sqlParameter, Map<String, Object> parameterMap) SQL 파라메터의 키 값 존재 여부 검사- Parameters:
sqlParameter- SQL 파라메터parameterMap- 파라메터 Map- Returns:
- 존재여부 여부
-
normalizeReturnValue
protected <R> R normalizeReturnValue(Map<String, Object> returnMap, @NonNull ProcedureCallOption<R> option) 결과 값을 정규화 한다.- Parameters:
returnMap-option-- Returns:
-