From b31bd5c8536b8abc799e7d0e2d6c670c1090d3d3 Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Fri, 21 Jan 2011 18:34:23 +0000 Subject: [PATCH] Added a simple sql query handler --- src/zutil/db/DBConnection.java | 10 +++---- src/zutil/db/handler/SimpleResultHandler.java | 27 +++++++++++++++++++ 2 files changed, 30 insertions(+), 7 deletions(-) create mode 100644 src/zutil/db/handler/SimpleResultHandler.java diff --git a/src/zutil/db/DBConnection.java b/src/zutil/db/DBConnection.java index 014a8d1..88f33b1 100644 --- a/src/zutil/db/DBConnection.java +++ b/src/zutil/db/DBConnection.java @@ -11,6 +11,8 @@ import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource; +import zutil.db.handler.SimpleResultHandler; + public class DBConnection{ public enum DBMS{ MySQL @@ -86,13 +88,7 @@ public class DBConnection{ */ public Object getLastInsertID(){ try{ - return exec("SELECT LAST_INSERT_ID()", new SQLResultHandler(){ - public Object handleQueryResult(Statement stmt, ResultSet result) throws SQLException { - if(result.next()) - return result.getObject(1); - return null; - } - }); + return exec("SELECT LAST_INSERT_ID()", new SimpleResultHandler()); }catch(SQLException e){ return null; } diff --git a/src/zutil/db/handler/SimpleResultHandler.java b/src/zutil/db/handler/SimpleResultHandler.java new file mode 100644 index 0000000..5a4036d --- /dev/null +++ b/src/zutil/db/handler/SimpleResultHandler.java @@ -0,0 +1,27 @@ +package zutil.db.handler; + +import java.sql.SQLException; +import java.sql.Statement; +import java.sql.ResultSet; + +import zutil.db.SQLResultHandler; + +/** + * Returns the first column of the first row from the query + * + * @author Ziver + */ +public class SimpleResultHandler implements SQLResultHandler { + /** + * Is called to handle an result from an query. + * + * @param stmt is the query + * @param result is the ResultSet + */ + @SuppressWarnings("unchecked") + public T handleQueryResult(Statement stmt, ResultSet result) throws SQLException{ + if( result.next() ) + return (T) result.getObject(1); + return null; + } +}