/**
  * 共通SELECT文発行処理を行う。(バインド変数有り) 引数のSELECT文を発行し、結果セットをListにて返却する。<br>
  * 引数のListはバインド変数。
  *
  * @param query SQL文
  * @param binds バインド変数
  * @return List<Map<String, Object>>
  * @throws SQLException
  * @author H.Abe
  */
 public List<Map<String, Object>> executeCommonSelectByBindQuery(
     String query, List<BindingDto> binds) throws SQLException {
   PreparedStatement preparedStatement = this.connection.prepareStatement(query);
   if (null != binds) {
     for (int i = 0; i < binds.size(); i++) {
       if (UtilDefine.INT_ARGS_TYPE.equals(binds.get(i).getArgsType())) {
         preparedStatement.setInt(i, binds.get(i).getIntValue());
       } else if (UtilDefine.STRING_ARGS_TYPE.equals(binds.get(i).getArgsType())) {
         preparedStatement.setString(i, binds.get(i).getStringValue());
       } else if (UtilDefine.CHAR_ARGS_TYPE.equals(binds.get(i).getArgsType())) {
         preparedStatement.setString(i, binds.get(i).getCharValue());
       } else if (UtilDefine.DATE_ARGS_TYPE.equals(binds.get(i).getArgsType())) {
         preparedStatement.setDate(i, binds.get(i).getDateValue());
       }
     }
   }
   ResultSet resultSet = preparedStatement.executeQuery();
   int columnCount = 0;
   String columnName = null;
   List<Map<String, Object>> resultList = new ArrayList<Map<String, Object>>();
   while (resultSet.next()) {
     ResultSetMetaData metaData = resultSet.getMetaData();
     columnCount = metaData.getColumnCount();
     Map<String, Object> resultMap = new HashMap<String, Object>();
     for (int i = 0; i < columnCount; i++) {
       columnName = metaData.getColumnName(i + 1);
       resultMap.put(columnName, resultSet.getObject(columnName));
     }
     resultList.add(resultMap);
   }
   close(preparedStatement);
   close(resultSet);
   return resultList;
 }
 /**
  * 共通SELECT文発行処理を行う。(バインド変数有り) 引数のSELECT文を発行し、結果セットを返却する。<br>
  * 引数のListはバインド変数。
  *
  * @param query SQL文
  * @param binds バインド変数
  * @return ResultSet
  * @throws SQLException
  * @author H.Abe
  */
 public ResultSet getResultSetBySelectBindQuery(String query, List<BindingDto> binds)
     throws SQLException {
   PreparedStatement preparedStatement = this.connection.prepareStatement(query);
   if (null != binds) {
     for (int i = 0; i < binds.size(); i++) {
       if (UtilDefine.INT_ARGS_TYPE.equals(binds.get(i).getArgsType())) {
         preparedStatement.setInt(i, binds.get(i).getIntValue());
       } else if (UtilDefine.STRING_ARGS_TYPE.equals(binds.get(i).getArgsType())) {
         preparedStatement.setString(i, binds.get(i).getStringValue());
       } else if (UtilDefine.CHAR_ARGS_TYPE.equals(binds.get(i).getArgsType())) {
         preparedStatement.setString(i, binds.get(i).getCharValue());
       } else if (UtilDefine.DATE_ARGS_TYPE.equals(binds.get(i).getArgsType())) {
         preparedStatement.setDate(i, binds.get(i).getDateValue());
       }
     }
   }
   ResultSet resultSet = preparedStatement.executeQuery();
   close(preparedStatement);
   return resultSet;
 }
 /**
  * 共通DML文発行処理を行う。(バインド変数有り) 引数のDML文を発行し、結果セットをint型にて返却する。<br>
  * 引数のListはバインド変数。 DML文は(INSERT、UPDATE、DELETE)に対応する。
  *
  * @param query SQL文
  * @param binds バインド変数
  * @return int
  * @throws SQLException
  * @author H.Abe
  */
 public int executeCommonDMLByBindQuery(String query, List<BindingDto> binds) throws SQLException {
   this.connection.setAutoCommit(false);
   PreparedStatement preparedStatement = this.connection.prepareStatement(query);
   if (null != binds) {
     for (int i = 0; i < binds.size(); i++) {
       if (UtilDefine.INT_ARGS_TYPE.equals(binds.get(i).getArgsType())) {
         preparedStatement.setInt(i, binds.get(i).getIntValue());
       } else if (UtilDefine.STRING_ARGS_TYPE.equals(binds.get(i).getArgsType())) {
         preparedStatement.setString(i, binds.get(i).getStringValue());
       } else if (UtilDefine.CHAR_ARGS_TYPE.equals(binds.get(i).getArgsType())) {
         preparedStatement.setString(i, binds.get(i).getCharValue());
       } else if (UtilDefine.DATE_ARGS_TYPE.equals(binds.get(i).getArgsType())) {
         preparedStatement.setDate(i, binds.get(i).getDateValue());
       }
     }
   }
   int result = 0;
   result = preparedStatement.executeUpdate();
   close(preparedStatement);
   return result;
 }