package com.platform.oracle; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import com.base.Custom4exception; import com.base.CustomException; import com.platform.utils.Configs; import com.platform.utils.FileOperateHelper; public class OracleConnector { static { try { Class.forName("oracle.jdbc.driver.OracleDriver"); Configs.CONSOLE_LOGGER.info("Oracle驱动加载成功"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block new CustomException(Custom4exception.OracleSQL_Except, e); e.printStackTrace(); } } public synchronized static Connection ConnectionBuilder(String url, String user, String password) { Connection conn=null; try { conn = DriverManager.getConnection(url, user, password); } catch (SQLException e) { new CustomException(Custom4exception.OracleSQL_Except, e); Configs.CONSOLE_LOGGER.info("创建oracle连接失败: [" + e.getMessage() + "]"); } return conn; } public synchronized static boolean canConnect(String url, String user, String password) { return (null != ConnectionBuilder(url, user, password)); } public synchronized static ResultSet getSQLExecResultSet(Connection conn, String sql, String filePath) { ResultSet resultSet = null; try { Statement statement = conn .createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); resultSet = statement.executeQuery(sql); FileOperateHelper .fileWrite(filePath, sql+ "\r\n"+"OK \r\n"); } catch (SQLException e) { FileOperateHelper .fileWrite(filePath, sql+ "\r\n"+e.getMessage()+"\r\n"); new CustomException(Custom4exception.OracleSQL_Except, e); } return resultSet; } public synchronized static ResultSet getSQLExecResultSet(String url, String user, String password, String sql, String filePath) { return getSQLExecResultSet(ConnectionBuilder(url, user, password), sql, filePath); } /** * 执行对oracle数据库的增、删 * @param conn * @param sql * @return true:执行的不返回集合数据的sql成功, 是否执行成功 */ public synchronized static boolean execOracleSQL(Connection conn, String sql, String filePath) { boolean flag = false; try { Statement statement = conn.createStatement(); statement.execute(sql); flag = true; FileOperateHelper .fileWrite(filePath, sql+ "\r\n"+"OK \r\n"); } catch (SQLException e) { flag = false; FileOperateHelper .fileWrite(filePath, sql+ "\r\n"+e.getMessage()+"\r\n"); new CustomException(Custom4exception.OracleSQL_Except, e); } return flag; } /** * 执行对oracle数据库的增、删 * @param conn * @param sql * @return true:执行结果大于1,即有数据 是否执行成功 */ public synchronized static boolean execUpdateOracleSQL(Connection conn, String sql, String filePath) { boolean flag = false; try { Statement statement = conn.createStatement(); if(statement.executeUpdate(sql) > 0) { flag = true; FileOperateHelper .fileWrite(filePath, sql+ "\r\n"+"OK \r\n"); } } catch (SQLException e) { flag = false; FileOperateHelper .fileWrite(filePath, sql+ "\r\n"+e.getMessage()+"\r\n"); new CustomException(Custom4exception.OracleSQL_Except, e, sql); } return flag; } }