/** * 共通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; }