1 package com.lhy.jdbc.util; 2 3 import java.net.URL; 4 import java.sql.*; 5 6 /** 7 * JDBC工具类 ,一般工具类final。 8 * 工具类一般不需要new,不需要构造实例。(把构造方法私有)别人就new不了了。 9 * 此时使用类的方法: 10 * 1是单例模式(复杂点) 11 * 2是提供静态的public方法。(简单) 12 * 本例子是简单的提供public方法实现的。需要静态方法 13 * 14 * @author hy 15 * 16 */ 17 public final class JdbcUtil { 18 private static String url ="jdbc:mysql://localhost:3306/bbs"; 19 private static String user ="root"; 20 private static String passWord = "root"; 21 22 //构造方法私有,别人不能构造,不会有实例出来. 23 private JdbcUtil(){ 24 25 } 26 27 /** 28 * 静态代码块,类加载到虚拟机是只执行一次。 29 */ 30 static { 31 try { 32 Class.forName("com.mysql.jdbc.Driver"); 33 } catch (ClassNotFoundException e) { 34 35 e.printStackTrace(); 36 } 37 38 } 39 40 public static Connection getConnection() { 41 Connection conn = null; 42 try { 43 conn = DriverManager.getConnection(url,user,passWord); 44 } catch (SQLException e) { 45 46 e.printStackTrace(); 47 } 48 return conn; 49 50 51 52 } 53 54 //释放资源,重载方法。 55 public static void close(Connection conn) { 56 try { 57 if(conn != null){ 58 conn.close(); 59 conn = null; 60 } 61 }catch(SQLException e){ 62 e.printStackTrace(); 63 } 64 } 65 public static void close(Statement stmt){ 66 try{ 67 if(stmt != null){ 68 stmt.close(); 69 stmt = null; 70 } 71 }catch(SQLException e){ 72 e.printStackTrace(); 73 } 74 } 75 public static void close(ResultSet rs){ 76 try{ 77 if(rs != null){ 78 rs.close(); 79 rs = null; 80 } 81 }catch (SQLException e) { 82 e.printStackTrace(); 83 } 84 } 85 }