From c80bc432433c349623b363c070d113bb0b2974c4 Mon Sep 17 00:00:00 2001 From: moparisthebest Date: Tue, 25 Sep 2018 20:14:08 -0400 Subject: [PATCH] Remove some incorrect QueryMapper.toResultSet overrides --- .../com/moparisthebest/jdbc/CachingQueryMapper.java | 2 +- .../java/com/moparisthebest/jdbc/QueryMapper.java | 13 +++++-------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/querymapper/src/main/java/com/moparisthebest/jdbc/CachingQueryMapper.java b/querymapper/src/main/java/com/moparisthebest/jdbc/CachingQueryMapper.java index 90d0d6a..cb68996 100644 --- a/querymapper/src/main/java/com/moparisthebest/jdbc/CachingQueryMapper.java +++ b/querymapper/src/main/java/com/moparisthebest/jdbc/CachingQueryMapper.java @@ -165,7 +165,7 @@ public class CachingQueryMapper extends QueryMapper { } @Override - public ResultSet toResultSet(String sql, Integer rsType, Integer rsConcurrency, Object... bindObjects) throws SQLException { + public ResultSet toResultSet(String sql, int rsType, int rsConcurrency, Object... bindObjects) throws SQLException { return super.toResultSet(getPreparedStatement(sql,rsType,rsConcurrency), bindObjects); } diff --git a/querymapper/src/main/java/com/moparisthebest/jdbc/QueryMapper.java b/querymapper/src/main/java/com/moparisthebest/jdbc/QueryMapper.java index 4fdae0d..715c66a 100644 --- a/querymapper/src/main/java/com/moparisthebest/jdbc/QueryMapper.java +++ b/querymapper/src/main/java/com/moparisthebest/jdbc/QueryMapper.java @@ -23,6 +23,8 @@ public class QueryMapper implements JdbcMapper { public static final Object noBind = new Object(); public static final ResultSetMapper defaultRsm = new ResultSetMapper(); + protected static final int[] SINGLE_COLUMN_INDEX = new int[]{1}; + /*IFJAVA6_START private static final Charset UTF_8 = Charset.forName("UTF-8"); IFJAVA6_END*/ @@ -333,7 +335,7 @@ public class QueryMapper implements JdbcMapper { public Long insertGetGeneratedKey(final String sql, final Object... bindObjects) throws SQLException { PreparedStatement ps = null; try { - ps = conn.prepareStatement(sql, new int[]{1}); // todo: create this array private static final + ps = conn.prepareStatement(sql, SINGLE_COLUMN_INDEX); return this.insertGetGeneratedKey(ps, bindObjects); } finally { tryClose(ps); @@ -387,10 +389,6 @@ public class QueryMapper implements JdbcMapper { // these grab ResultSets from the database public ResultSet toResultSet(PreparedStatement ps, final Object... bindObjects) throws SQLException { - return toResultSet(ps, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY, bindObjects); - } - - public ResultSet toResultSet(PreparedStatement ps, int rsType, int rsConcurrency, final Object... bindObjects) throws SQLException { return bindExecute(ps, bindObjects); } @@ -398,14 +396,13 @@ public class QueryMapper implements JdbcMapper { return toResultSet(sql, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY, bindObjects); } - public ResultSet toResultSet(String sql, Integer rsType, Integer rsConcurrency, final Object... bindObjects) throws SQLException { - //throw new UnsupportedOperationException("Can't return ResultSet from String because the PreparedStatement can't be closed before the ResultSet is, so CachingQueryMapper will work."); + public ResultSet toResultSet(String sql, int rsType, int rsConcurrency, final Object... bindObjects) throws SQLException { // works with StatementClosingResultSet boolean error = true; PreparedStatement ps = null; ResultSet rs = null; try { - ps = conn.prepareStatement(sql, rsType.intValue(), rsConcurrency.intValue()); + ps = conn.prepareStatement(sql, rsType, rsConcurrency); rs = this.toResultSet(ps, bindObjects); error = false; return new StatementClosingResultSet(rs, ps);