JDBC连接工厂类

本文介绍了一种简洁的数据库连接和关闭方法,通过一个连接工厂类提供数据库连接及关闭功能,避免了多个工厂类的冗余。该方法通过传递null参数来灵活关闭连接、语句块和结果集。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   看到有些书上数据库连接提供两个工厂类,一个连接工厂类一个关闭工厂类,并且关闭工厂类写了多种重载形式,感觉没有必要,这样写比较简洁一些。
 1 /**
 2  * 抽象出的连接工厂类,提供连接数据库和关闭连接的相关方法
 3  * @author lkx
 4  * date:2013年10月21日 12:17:29
 5  */
 6 package com.snow.factory;
 7 import java.sql.Connection;
 8 import java.sql.DriverManager;
 9 import java.sql.ResultSet;
10 import java.sql.Statement;
11 public class ConnectionFactory 
12 {
13     //数据库连接的相关参数
14     private static final String URL="jdbc:mysql://127.0.0.1:3306/<dbname>";
15     private static final String User="<username>";
16     private static final String Password="<password>";
17     private static final String Driver="com.mysql.jdbc.Driver";
18     
19     /**
20      * 获取数据库连接
21      * @return 成功则返回java.sql.Connection
22      *         失败则返回null
23      */
24     public static Connection getConnection()
25     {
26         Connection con=null;
27         try 
28         {
29             Class.forName(Driver);//加载数据库驱动
30             con = DriverManager.getConnection(URL, User, Password);//创建连接
31         } 
32         catch (Exception e) {
33             System.out.print("获取连接出错");
34             e.printStackTrace();
35         }
36         return con;
37     }
38     
39     /**
40      *关闭数据库连接
41      * @param Connection con,Statement stm,ResultSet rs
42      */
43     public static void closeConnection(Connection con,Statement stm,ResultSet rs)//不提供重载形式,如果仅需关闭其中几个,则其他参数传null即可
44     {   
45         try 
46         {   
47             if(rs!=null)
48                 rs.close(); //关闭结果集
49             if(stm!=null)
50                 stm.close();//关闭语句块
51             if(con!=null)
52                 con.close();//关闭连接
53         } 
54         catch (Exception e)
55         {
56             System.out.print("关闭资源出错");
57             e.printStackTrace();
58         }
59     }
60 }

 

转载于:https://www.cnblogs.com/lkxsnow/p/3381252.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值