package org.mysql; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class ConnectionManager { private static final ConnectionManager _connectionManager = new ConnectionManager(); public static final Connection getDatabaseInstance(String JDBCDriver, String URL, String user, String password) throws SQLException { Connection c = null; try { c = DriverManager.getConnection(URL, user, password); } catch (SQLException e) { e.printStackTrace(); throw e; } return c; } public static final Connection getDatabaseInstance(String JDBCDriver, String URL) throws SQLException { Connection c = null; try { c = DriverManager.getConnection(URL); } catch (SQLException e) { e.printStackTrace(); throw e; } return c; } public static ConnectionManager getDefaultInstance() { return _connectionManager; } public static Connection getConnection(String url, String user, String password) throws SQLException { Connection c = null; ClassLoader originalLoader = Thread.currentThread().getContextClassLoader(); try { Thread.currentThread().setContextClassLoader(org.gjt.mm.mysql.Driver.class.getClassLoader()); c = DriverManager.getConnection(url, user, password); } catch (SQLException e) { e.printStackTrace(); throw e; } finally { Thread.currentThread().setContextClassLoader(originalLoader); } return c; } public void test() { String url = "jdbc:mysql://localhost:3308/ims?useOldAliasMetadataBehavior=true&zeroDateTimeBehavior=convertToNull"; String user = "root"; String password = "root"; // Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn = null; try { conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("select * from ims_item"); while (rs.next()) { System.out.println(rs.getString("item_id")); } stmt.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); } finally { if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } public void testProxool() { String url = "proxool.core:org.gjt.mm.mysql.Driver:jdbc:mysql://localhost:3308/ims?useOldAliasMetadataBehavior=true&zeroDateTimeBehavior=convertToNull"; // proxool.timetracking:org.gjt.mm.mysql.Driver: jdbc:mysql://localhost:3308/timetracking_dev?useOldAliasMetadataBehavior=true&zeroDateTimeBehavior=convertToNull String user = "root"; String password = "root"; // Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); try { Class.forName("org.logicalcobwebs.proxool.ProxoolDriver"); } catch (Throwable e1) { e1.printStackTrace(); } Connection conn = null; try { conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("select * from ims_item"); while (rs.next()) { System.out.println(rs.getString("item_id")); } stmt.close(); } catch (SQLException e) { e.printStackTrace(); } finally { if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } public Connection getProxoolConnection(String proxoolUrl, String user, String password) { // String url = "proxool.core:org.gjt.mm.mysql.Driver:jdbc:mysql://localhost:3308/ims?useOldAliasMetadataBehavior=true&zeroDateTimeBehavior=convertToNull"; // String user = "root"; // String password = "root"; // Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); try { Class.forName("org.logicalcobwebs.proxool.ProxoolDriver"); } catch (Throwable e1) { e1.printStackTrace(); } Connection conn = null; try { conn = DriverManager.getConnection(proxoolUrl, user, password); } catch (SQLException e) { e.printStackTrace(); } return conn; } public static Connection openConnection(String url, String user, String password) { // String url = "jdbc:mysql://localhost:3308/ims?useOldAliasMetadataBehavior=true&zeroDateTimeBehavior=convertToNull"; // String user = "root"; // String password = "root"; try { Class.forName("org.logicalcobwebs.proxool.ProxoolDriver"); } catch (Throwable e1) { e1.printStackTrace(); } try { return DriverManager.getConnection(url, user, password); } catch (SQLException e) { e.printStackTrace(); } return null; } }