JDBC连接数据库工具类

时间:2022-10-13 20:16:20
 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 }