| File |
Line |
| com/codeferm/dbaccess/DbJdbcConn.java |
167 |
| com/codeferm/dbaccess/DbJdbcDs.java |
167 |
preparedStatement = connection.prepareStatement(sql);
// Fill parameters
int i = 1; //NOPMD
for (Object o : params) {
preparedStatement.setObject(i++, o);
}
resultSet = preparedStatement.executeQuery();
final ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
final int numberOfColumns = resultSetMetaData.getColumnCount();
list = new ArrayList<Map<String, Object>>();
final Map map = new HashMap();
while (resultSet.next()) {
for (i = 1; i <= numberOfColumns; i++) {
map.put(resultSetMetaData.getColumnName(i), resultSet.
getObject(i));
}
list.add(map);
}
} catch (SQLException e) {
throw new DbAccessException(String.format(
"selectMapList: sql=%s, params=%s", sql, Arrays.asList(
params)), e);
} finally {
try {
if (resultSet != null) {
resultSet.close();
}
} catch (SQLException e) {
log.error(e.getMessage());
}
try {
if (preparedStatement != null) {
preparedStatement.close();
}
} catch (SQLException e) {
log.error(e.getMessage());
} |
| File |
Line |
| com/codeferm/dbaccess/DbJdbcConn.java |
276 |
| com/codeferm/dbaccess/DbJdbcDs.java |
294 |
preparedStatement = connection.prepareStatement(sql,
Statement.RETURN_GENERATED_KEYS);
// Fill parameters
int i = 1; //NOPMD
for (Object o : params) {
preparedStatement.setObject(i++, o);
}
preparedStatement.executeUpdate();
resultSet = preparedStatement.getGeneratedKeys();
final ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
final int numberOfColumns = resultSetMetaData.getColumnCount();
// Prime the pump
if (resultSet.next()) {
keys = new HashMap<String, Object>();
for (i = 1; i <= numberOfColumns; i++) {
keys.put(resultSetMetaData.getColumnName(i),
resultSet.getObject(i));
}
}
} catch (SQLException e) {
throw new DbAccessException(String.format(
"updateReturnKeys: sql=%s, params=%s", sql, Arrays.asList(
params)), e);
} finally {
try {
if (resultSet != null) {
resultSet.close();
}
} catch (SQLException e) {
log.error(e.getMessage());
}
try {
if (preparedStatement != null) {
preparedStatement.close();
}
} catch (SQLException e) {
log.error(e.getMessage());
} |
| File |
Line |
| com/codeferm/dbaccess/DbJdbcConn.java |
114 |
| com/codeferm/dbaccess/DbJdbcDs.java |
104 |
preparedStatement = connection.prepareStatement(sql);
// Fill parameters
int i = 1; //NOPMD
for (Object o : params) {
preparedStatement.setObject(i++, o);
}
resultSet = preparedStatement.executeQuery();
list = createObjects(resultSet, clazz);
} catch (Exception e) {
throw new DbAccessException(String.format(
"selectBeanList: sql=%s, params=%s", sql, Arrays.asList(
params)), e);
} finally {
try {
if (resultSet != null) {
resultSet.close();
}
} catch (SQLException e) {
log.error(e.getMessage());
}
try {
if (preparedStatement != null) {
preparedStatement.close();
}
} catch (SQLException e) {
log.error(e.getMessage());
} |
| File |
Line |
| com/codeferm/dbaccess/transaction/JdbcTransInterceptor.java |
94 |
| com/codeferm/dbaccess/transaction/QueryRunnerTransInterceptor.java |
94 |
final DbJdbcConn dbAccess = (DbJdbcConn) invocation.
getArguments()[0];
// Begin transaction
dbAccess.getConnection().setAutoCommit(false);
try {
// Proceed with the original method's invocation
object = invocation.proceed();
// Commit if successful
dbAccess.getConnection().commit();
dbAccess.getConnection().setAutoCommit(true);
if (log.isDebugEnabled()) {
log.debug(String.format(
"Committed transaction for method %s",
invocation.getMethod().getName()));
}
} catch (Exception e) {
// Rollback on Exception
if (log.isDebugEnabled()) {
log.debug(String.format(
"Rollback transaction for method %s",
invocation.getMethod().getName()));
}
// Rollback on error
dbAccess.getConnection().rollback();
dbAccess.getConnection().setAutoCommit(true);
throw e;
}
}
return object;
}
} |
| File |
Line |
| com/codeferm/dbaccess/DbQueryRunnerConn.java |
142 |
| com/codeferm/dbaccess/DbQueryRunnerDs.java |
104 |
list = (List<T>) template.query(connection, sql,
new BeanListHandler(clazz,
new BasicRowProcessor(new DbBeanProcessor())),
params);
} catch (SQLException e) {
throw new DbAccessException(String.format(
"selectBeanList: sql=%s, params=%s", sql, Arrays.asList(
params)), e);
}
return list;
}
/**
* Return query results as list of Maps. {@code Connection} is not closed.
*
* @param sql SQL statement to execute.
* @param params Initialize the PreparedStatement's IN parameters.
* @return {@code List} of Maps containing field name/value pair.
*/
@Override
@SuppressFBWarnings(value
= "SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING",
justification
= "SQL libraries are allowed to accept SQL as parameter")
public final List<Map<String, Object>> selectList(final String sql,
final Object[] params) {
if (log.isDebugEnabled()) {
log.debug(String.format("selectMapList: sql=%s, params=%s", sql,
Arrays.asList(params)));
}
List<Map<String, Object>> list = null;
try {
list = template.query(connection, sql, new MapListHandler(), |
| File |
Line |
| com/codeferm/dbaccess/DbJdbcDs.java |
114 |
| com/codeferm/dbaccess/DbJdbcDs.java |
187 |
"selectBeanList: sql=%s, params=%s", sql, Arrays.asList(
params)), e);
} finally {
try {
if (resultSet != null) {
resultSet.close();
}
} catch (SQLException e) {
log.error(e.getMessage());
}
try {
if (preparedStatement != null) {
preparedStatement.close();
}
} catch (SQLException e) {
log.error(e.getMessage());
}
try {
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
log.error(e.getMessage());
}
}
return list;
}
/**
* Return query results as list of Maps. {@code Connection} closed
* automatically.
*
* @param sql SQL statement to execute
* @param params Initialize the PreparedStatement's IN parameters
* @return {@code List} of Maps containing field name/value pair
*/
@Override
@SuppressFBWarnings(value
= "SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING",
justification
= "SQL libraries are allowed to accept SQL as parameter")
public final List<Map<String, Object>> selectList(final String sql, |
| File |
Line |
| com/codeferm/dbaccess/DbJdbcConn.java |
343 |
| com/codeferm/dbaccess/DbJdbcDs.java |
370 |
preparedStatement = connection.prepareStatement(sql);
// Add parameter arrays to batch
for (Object[] param : params) {
// Fill parameters
int i = 1; //NOPMD
for (Object o : param) {
preparedStatement.setObject(i++, o);
}
// Add to batch
preparedStatement.addBatch();
}
rows = preparedStatement.executeBatch();
} catch (SQLException e) {
throw new DbAccessException(String.format(
"batch: sql=%s, params=%s", sql, Arrays.asList(
params)), e);
} finally {
try {
if (preparedStatement != null) {
preparedStatement.close();
}
} catch (SQLException e) {
log.error(e.getMessage());
} |
| File |
Line |
| com/codeferm/dbaccess/DbJdbcDs.java |
114 |
| com/codeferm/dbaccess/DbJdbcDs.java |
187 |
| com/codeferm/dbaccess/DbJdbcDs.java |
315 |
"selectBeanList: sql=%s, params=%s", sql, Arrays.asList(
params)), e);
} finally {
try {
if (resultSet != null) {
resultSet.close();
}
} catch (SQLException e) {
log.error(e.getMessage());
}
try {
if (preparedStatement != null) {
preparedStatement.close();
}
} catch (SQLException e) {
log.error(e.getMessage());
}
try {
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
log.error(e.getMessage());
}
}
return list; |
| File |
Line |
| com/codeferm/dbaccess/DbQueryRunnerConn.java |
98 |
| com/codeferm/dbaccess/DbQueryRunnerDs.java |
59 |
}
/**
* Get {@code QueryRunner} object.
*
* @return QueryRunner template.
*/
public final QueryRunner getTemplate() {
return template;
}
/**
* Set {@code QueryRunner} object.
*
* @param template QueryRunner template.
*/
public final void setTemplate(final QueryRunner template) {
this.template = template;
}
/**
* Return query results as list of beans. DBUtils doesn't handle underscore
* to camelCase conversions for you. A custom DbBeanProcessor is implemented
* to handle underscores properly. Connection is not closed.
*
* @param <T> Type of object that the handler returns.
* @param sql SQL statement to execute.
* @param params Initialize the PreparedStatement's IN parameters.
* @param clazz Class to map results to.
* @return {@code List} of {@code <T>} typed objects.
*/
@Override
@SuppressFBWarnings(value
= "SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING",
justification
= "SQL libraries are allowed to accept SQL as parameter")
public final <T> List<T> selectList(final String sql,
final Object[] params, final Class clazz) {
if (log.isDebugEnabled()) {
log.debug(String.format("selectBeanList: sql=%s, params=%s", sql,
Arrays.asList(params)));
}
List<T> list = null;
try {
list = (List<T>) template.query(connection, sql, |
| File |
Line |
| com/codeferm/dbaccess/DbQueryRunnerConn.java |
174 |
| com/codeferm/dbaccess/DbQueryRunnerDs.java |
137 |
list = template.query(connection, sql, new MapListHandler(),
params);
} catch (SQLException e) {
throw new DbAccessException(String.format(
"selectMapList: sql=%s, params=%s", sql, Arrays.asList(
params)), e);
}
return list;
}
/**
* Executes the given INSERT, UPDATE, or DELETE SQL statement with parameter
* array. {@code Connection} is not closed.
*
* @param sql SQL statement to execute.
* @param params Initialize the PreparedStatement's IN parameters.
* @return Number of rows updated.
*/
@Override
@SuppressFBWarnings(value
= "SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING",
justification
= "SQL libraries are allowed to accept SQL as parameter")
public final int update(final String sql, final Object[] params) {
if (log.isDebugEnabled()) {
log.debug(String.format("update: sql=%s, params=%s", sql, Arrays.
asList(params)));
}
int rows = -1;
try {
rows = template.update(connection, sql, params); |
| File |
Line |
| com/codeferm/dbaccess/DbJdbcConn.java |
309 |
| com/codeferm/dbaccess/DbJdbcDs.java |
334 |
preparedStatement.close();
}
} catch (SQLException e) {
log.error(e.getMessage());
}
}
return keys;
}
/**
* Executes the given INSERT, UPDATE, or DELETE SQL statement with array of
* parameter arrays. {@code Connection} is not closed.
*
* @param sql SQL statement to execute
* @param params Initialize the PreparedStatement's IN parameters
* @return Number of rows updated array
*/
@Override
@SuppressFBWarnings(value
= "SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING",
justification
= "SQL libraries are allowed to accept SQL as parameter")
public final int[] batch(final String sql, final Object[][] params) {
if (log.isDebugEnabled()) {
log.debug(String.format("batch: sql=%s", sql));
for (Object[] param : params) {
log.debug(
String.format("batch: params=%s",
Arrays.asList(param)));
}
} |
| File |
Line |
| com/codeferm/dbaccess/DbQueryRunnerConn.java |
253 |
| com/codeferm/dbaccess/DbQueryRunnerDs.java |
219 |
DbUtils.closeQuietly(preparedStatement);
}
return keys;
}
/**
* Executes the given INSERT, UPDATE, or DELETE SQL statement with array of
* parameter arrays. {@code Connection} is not closed.
*
* @param sql SQL statement to execute.
* @param params Initialize the PreparedStatement's IN parameters.
* @return Number of rows updated array.
*/
@Override
@SuppressFBWarnings(value
= "SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING",
justification
= "SQL libraries are allowed to accept SQL as parameter")
public final int[] batch(final String sql, final Object[][] params) {
if (log.isDebugEnabled()) {
log.debug(String.format("batch: sql=%s", sql));
for (Object[] param : params) {
log.debug(
String.format("batch: params=%s",
Arrays.asList(param)));
}
}
int[] rows = null;
try {
rows = template.batch(connection, sql, params); |
| File |
Line |
| com/codeferm/dbaccess/DbJdbcConn.java |
229 |
| com/codeferm/dbaccess/DbJdbcDs.java |
238 |
preparedStatement = connection.prepareStatement(sql);
// Fill parameters
int i = 1; //NOPMD OK to use short name for loop iteration variable
for (Object o : params) {
preparedStatement.setObject(i++, o);
}
rows = preparedStatement.executeUpdate();
} catch (SQLException e) {
throw new DbAccessException(String.format(
"update: sql=%s, params=%s", sql, Arrays.asList(
params)), e);
} finally {
try {
if (preparedStatement != null) {
preparedStatement.close();
}
} catch (SQLException e) {
log.error(e.getMessage());
} |
| File |
Line |
| com/codeferm/dbaccess/DbJdbcConn.java |
124 |
| com/codeferm/dbaccess/DbJdbcConn.java |
187 |
"selectBeanList: sql=%s, params=%s", sql, Arrays.asList(
params)), e);
} finally {
try {
if (resultSet != null) {
resultSet.close();
}
} catch (SQLException e) {
log.error(e.getMessage());
}
try {
if (preparedStatement != null) {
preparedStatement.close();
}
} catch (SQLException e) {
log.error(e.getMessage());
}
}
return list;
}
/**
* Return query results as list of Maps. {@code Connection} is not closed.
*
* @param sql SQL statement to execute
* @param params Initialize the PreparedStatement's IN parameters
* @return {@code List} of Maps containing field name/value pair
*/
@Override
@SuppressFBWarnings(value
= "SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING",
justification
= "SQL libraries are allowed to accept SQL as parameter")
public final List<Map<String, Object>> selectList(final String sql, |
| File |
Line |
| com/codeferm/dbaccess/DbQueryRunnerConn.java |
204 |
| com/codeferm/dbaccess/DbQueryRunnerDs.java |
167 |
rows = template.update(connection, sql, params);
} catch (SQLException e) {
throw new DbAccessException(String.format(
"update: sql=%s, params=%s", sql, Arrays.asList(
params)), e);
}
return rows;
}
/**
* Executes the given INSERT statement with parameter array and returns auto
* generate key. JDBC driver needs to support RETURN_GENERATED_KEYS.
* Connection is not closed.
*
* @param sql SQL statement to execute.
* @param params Initialize the PreparedStatement's IN parameters.
* @return Field name/value pairs of keys.
*/
@Override
@SuppressFBWarnings(value
= "SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING",
justification
= "SQL libraries are allowed to accept SQL as parameter")
public final Map<String, Object> updateReturnKeys(final String sql,
final Object[] params) {
if (log.isDebugEnabled()) {
log.debug(String.format("updateReturnKeys: sql=%s, params=%s", sql,
Arrays.asList(params)));
} |