Class UstraProcedureManager

java.lang.Object
com.gsitm.ustra.java.data.utils.procedure.UstraProcedureManager
Direct Known Subclasses:
UstraMySqlProcedureManager, UstraOracleProcedureManager, UstraPostgreProcedureManager, UstraSqlProcedureManager

public abstract class UstraProcedureManager extends Object
  • Field Details

    • jdbcTemplate

      protected org.springframework.jdbc.core.JdbcTemplate jdbcTemplate
  • Constructor Details

    • UstraProcedureManager

      public UstraProcedureManager(org.springframework.jdbc.core.JdbcTemplate jdbcTemplate)
    • UstraProcedureManager

      public UstraProcedureManager(DataSource dataSource)
  • 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

      public <R> ProcedureCallResult<R> call(@NonNull ProcedureCallOption<R> option)
      프로시져를 호출
      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 - jdbcCall
      option - 호출 옵션
      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 - jdbcCall
      option - 호출 옵션
      sqlParameters - SQL 파라메터 목록
      Returns:
      SimpleJdbcCall 객체
    • normalizeOption

      protected void normalizeOption(@NonNull ProcedureCallOption<?> option)
      프로시져 옵션을 정규화 한다. - 기본 옵션 변경이 필요한 경우, 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: