List of usage examples for org.apache.ibatis.session SqlSessionManager getConnection
@Override
public Connection getConnection()
From source file:com.mirth.connect.server.util.DatabaseUtil.java
License:Open Source License
public static void executeScript(String script, boolean ignoreErrors) throws Exception { SqlSessionManager sqlSessionManger = SqlConfig.getSqlSessionManager(); Connection conn = null;/*from w w w. j av a 2s . c om*/ ResultSet resultSet = null; Statement statement = null; try { sqlSessionManger.startManagedSession(); conn = sqlSessionManger.getConnection(); /* * Set auto commit to false or an exception will be thrown when trying to rollback */ conn.setAutoCommit(false); statement = conn.createStatement(); Scanner s = new Scanner(script); while (s.hasNextLine()) { StringBuilder sb = new StringBuilder(); boolean blankLine = false; while (s.hasNextLine() && !blankLine) { String temp = s.nextLine(); if (temp.trim().length() > 0) sb.append(temp + " "); else blankLine = true; } // Trim ending semicolons so Oracle doesn't throw // "java.sql.SQLException: ORA-00911: invalid character" String statementString = StringUtils.removeEnd(sb.toString().trim(), ";"); if (statementString.length() > 0) { try { statement.execute(statementString); conn.commit(); } catch (SQLException se) { if (!ignoreErrors) { throw se; } else { logger.error("Error was encountered and ignored while executing statement: " + statementString, se); conn.rollback(); } } } } } catch (Exception e) { throw new Exception(e); } finally { DbUtils.closeQuietly(statement); DbUtils.closeQuietly(resultSet); DbUtils.closeQuietly(conn); sqlSessionManger.close(); } }
From source file:com.mirth.connect.server.util.DatabaseUtil.java
License:Open Source License
public static void executeScript(List<String> script, boolean ignoreErrors) throws Exception { SqlSessionManager sqlSessionManger = SqlConfig.getSqlSessionManager(); Connection conn = null;//from w w w .j av a2 s .c om ResultSet resultSet = null; Statement statement = null; try { sqlSessionManger.startManagedSession(); conn = sqlSessionManger.getConnection(); /* * Set auto commit to false or an exception will be thrown when trying to rollback */ conn.setAutoCommit(false); statement = conn.createStatement(); for (String statementString : script) { statementString = statementString.trim(); if (statementString.length() > 0) { try { statement.execute(statementString); conn.commit(); } catch (SQLException se) { if (!ignoreErrors) { throw se; } else { logger.error("Error was encountered and ignored while executing statement: " + statementString, se); conn.rollback(); } } } } } catch (Exception e) { throw new Exception(e); } finally { DbUtils.closeQuietly(statement); DbUtils.closeQuietly(resultSet); DbUtils.closeQuietly(conn); sqlSessionManger.close(); } }