import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JdbcUtils { private final static String dbdriver = "com.mysql.jdbc.Driver"; private final static String dburl = "jdbc:mysql://localhost:3306/study1?seUnicode=true&characterEncoding=UTF8"; private final static String dbusername = "root"; private final static String dbpassword = "root"; static { try { Class.forName(dbdriver); } catch (ClassNotFoundException e) { throw new ExceptionInInitializerError(e); } } public static Connection createConnection() throws SQLException { return DriverManager.getConnection(dburl, dbusername, dbpassword); } public static void close(Connection conn) { if (conn != null) { try { conn.close(); } catch (SQLException e) { } } } public static void close(Statement stmt) { if (stmt != null) { try { stmt.close(); } catch (SQLException e) { } } } public static void close(ResultSet rs) { if (rs != null) { try { rs.close(); } catch (SQLException e) { } } } public static int executeUpdate(String sql, Object... parameters) throws SQLException { Connection conn = null; try { conn = createConnection(); return executeUpdate(conn, sql, parameters); } finally { close(conn); } } public static int executeUpdate(Connection conn, String sql, Object... parameters) throws SQLException { PreparedStatement ps = null; try { ps = conn.prepareStatement(sql); for (int i = 0; i < parameters.length; i++) { ps.setObject(i + 1, parameters[i]); } return ps.executeUpdate(); } finally { close(ps); } } public static ResultSet executeQuery(String sql, Object... parameters) throws SQLException { Connection conn = null; try { conn = createConnection(); return executeQuery(conn, sql, parameters); } catch (SQLException ex) { close(conn); throw ex; } } public static ResultSet executeQuery(Connection conn, String sql, Object... parameters) throws SQLException { PreparedStatement ps = null; try { ResultSet rs = null; ps = conn.prepareStatement(sql); for (int i = 0; i < parameters.length; i++) { ps.setObject(i + 1, parameters[i]); } rs = ps.executeQuery(); return rs; } catch (SQLException ex) { close(ps); throw ex; } } public static void closeAll(ResultSet rs) { if (rs == null) { return; } try { close(rs.getStatement().getConnection()); close(rs.getStatement()); close(rs); } catch (SQLException e) { } } public static void rollback(Connection conn) { try { conn.rollback(); } catch (SQLException e) { // } } }