Mercurial > dive4elements > framework
view artifact-database/src/main/java/de/intevation/artifactdatabase/db/SQLExecutor.java @ 406:10aa92f2eca0
Add a account column to the users table
artifacts/trunk@5242 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Bjoern Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Thu, 23 Aug 2012 13:33:27 +0000 |
parents | f33401ea2a6c |
children |
line wrap: on
line source
package de.intevation.artifactdatabase.db; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import javax.sql.DataSource; import org.apache.log4j.Logger; public class SQLExecutor { private static Logger logger = Logger.getLogger(SQLExecutor.class); public class Instance { public Connection conn; public PreparedStatement stmnt; public ResultSet result; public Instance() { } public void reset() throws SQLException { if (result != null) { result.close(); result = null; } if (stmnt != null) { result = null; stmnt.close(); } } public PreparedStatement prepareStatement(String query) throws SQLException { return stmnt = conn.prepareStatement(query); } public void close() { if (result != null) { try { result.close(); } catch (SQLException sqle) {} } if (stmnt != null) { try { stmnt.close(); } catch (SQLException sqle) {} } if (conn != null) { try { conn.close(); } catch (SQLException sqle) {} } } public boolean runWrite() { DataSource dataSource = dbConnection.getDataSource(); try { conn = dataSource.getConnection(); try { conn.setAutoCommit(false); return doIt(); } catch (SQLException sqle) { conn.rollback(); throw sqle; } } catch (SQLException sqle) { logger.error(sqle.getLocalizedMessage(), sqle); } finally { close(); } return false; } public boolean runRead() { DataSource dataSource = dbConnection.getDataSource(); try { conn = dataSource.getConnection(); return doIt(); } catch (SQLException sqle) { logger.error(sqle.getLocalizedMessage(), sqle); } finally { close(); } return false; } public boolean doIt() throws SQLException { return true; } } // class Instance protected DBConnection dbConnection; public SQLExecutor() { } public SQLExecutor(DBConnection dbConnection) { this.dbConnection = dbConnection; } public DBConnection getDBConnection() { return dbConnection; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :