jdbc连接数据库(静态模式)

01      package com.sli;
02	 
03	import java.sql.Connection;
04	import java.sql.DriverManager;
05	import java.sql.ResultSet;
06	import java.sql.SQLException;
07	import java.sql.Statement;
08	 
09	/**
10	 *
11	 * @author 罗盛力 JDBC辅助类 用于构建数据库连接(采用静态方法)
12	 */
13	public final class JDBCUtil {
14	    // 该url为缺省方式(省略主机跟端口)
15	    // 完整为:jdbc:mysql//localhost:3306/test
16	    static String url = "jdbc:mysql:///test";
17	    static String name = "root";
18	    static String password = "sli";
19	    static Connection conn = null;
20	 
21	    private JDBCUtil() {
22	    }
23	 
24	    // 通过静态代码块注册数据库驱动,保证注册只执行一次
25	    static {
26	        try {
27	            // 注册驱动有如下方式:
28	            // 1.通过驱动管理器注册驱动,但会注册两次,并且会对类产生依赖。如果该类不存在那就报错了。
29	            // DriverManager.registerDriver(new com.mysql.jdbc.Driver());
30	            // 2.与3类似
31	            // System.setProperty("jdbc.drivers","com.mysql.jdbc.Driver");
32	            Class.forName("com.mysql.jdbc.Driver");// 推荐使用方式
33	        } catch (ClassNotFoundException e) {
34	            e.printStackTrace();
35	        }
36	    }
37	 
38	    // 获得连接
39	    public static Connection getConnection() {
40	        try {
41	            conn = DriverManager.getConnection(url,name,password);
42	        } catch (SQLException e) {
43	            e.printStackTrace();
44	        }
45	        return conn;
46	 
47	    }
48	 
49	    // 关闭连接
50	    public static void closeConnection(ResultSet rs, Statement statement, Connection con) {
51	        try {
52	            if (rs != null) {
53	                rs.close();
54	            }
55	        } catch (SQLException e) {
56	            e.printStackTrace();
57	        } finally {
58	            try {
59	                if (statement != null) {
60	                    statement.close();
61	                }
62	            } catch (Exception e) {
63	                e.printStackTrace();
64	            } finally {
65	                try {
66	                    if (con != null) {
67	                        con.close();
68	                    }
69	                } catch (SQLException e) {
70	                    e.printStackTrace();
71	                }
72	            }
73	        }
74	    }
75	 
76	}

猜你喜欢

转载自hechuanzhen.iteye.com/blog/1635913