1 public class DBUtil {
 2     private static Properties properties = new Properties();
 3     
 4     static{
 5         try {
 6             //加载properties文件配置文件
 7             properties.load(DBUtil.class.getClassLoader().getResourceAsStream("config/db.properties"));
 8             //加载数据库驱动
 9             Class.forName(properties.getProperty("driver"));
10         } catch (Exception e) {
11             e.printStackTrace();
12         }
13     }
14     public static Connection getConnection(){
15         Connection connection = null;
16         String userName = properties.getProperty("user");
17         String pwd = properties.getProperty("pwd");
18         String url =properties.getProperty("url");
19         
20         try {
21             connection=DriverManager.getConnection(url, userName, pwd);
22         } catch (SQLException e) {
23             
24             e.printStackTrace();
25         }
26         
27         return connection;
28         
29     }
30     public static void closePreparedStatement(PreparedStatement prst){
31         if(prst!=null){
32             try {
33                 prst.close();
34             } catch (SQLException e) {
35                 // TODO Auto-generated catch block
36                 e.printStackTrace();
37             }
38         }
39     }
40     public static void closeResultSet(ResultSet rs){
41         if(rs!=null){
42             try {
43                 rs.close();
44             } catch (SQLException e) {
45                 // TODO Auto-generated catch block
46                 e.printStackTrace();
47             }
48         }
49     }
50     public static void closeStatement(Statement st){
51         if(st!=null){
52             try {
53                 st.close();
54             } catch (SQLException e) {
55                 // TODO Auto-generated catch block
56                 e.printStackTrace();
57             }
58         }
59     }
60     public static void closeConnection(Connection con){
61         if(con!=null){
62             try {
63                 con.close();
64             } catch (SQLException e) {
65                 // TODO Auto-generated catch block
66                 e.printStackTrace();
67             }
68         }
69     }
70     public static void main(String[] args) {
71         Connection con = DBUtil.getConnection();
72         System.out.println(con);
73     }
74 }
View Code

类加载器 class loader用来加载Java类到Java虚拟机中。一般来说,java源程序  .java文件在经过java编译之后就被转换成java字节码文件.class文件。类加载器负责读取java字节码,并转换成java.lang.Class类的一个实例。每个这样的实例用来表示一个java类,通过此实例的newInstance()方法就可以创建出该类的一个类。

Class user =User.class;

user.newInstance()// 即 new出来的User对象,可以通过user.newInstance().setName(); 或user.newInstance().setPwd();来设置属性值。

java.lang.ClassLoader类的基本职责就是根据一个指定的类的名称,找到或者生成其对应的字节代码,然后从这些字节码定义出一个java类,即java.lang.Class类的一个实例。除此之外,ClassLoader还负责加载Java应用 所需的资源,如图像文件和配置文件等。像上面封装的Jdbc的

DBUtil.class.getClassLoader().getResourcesasStream("db.properties");  //根据DButil.class的字节码文件加存到内存,加载db.properties文件。

类加载器就是负责加载类的对象。加载.class文件到内存,生成Class对象的实例。

posted on 2015-05-15 16:35  风流书生  阅读(494)  评论(0编辑  收藏  举报