连接工厂

//JDBC编程练习
public class DBHandle {

/** 驱动类 */
private static String SQL_DRIVER = "";
/** 数据库连接串 */
private static String SQL_URL = "";
/** 用户名 */
private static String SQL_USERNAME = "";
/** 密码 */
private static String SQL_PASSWORD = "";

private static Connection connection = null;
// 加载初始化Connection对象
static {
try {
getPropertiesInfo();
Class.forName(SQL_DRIVER);
connection = DriverManager.getConnection(SQL_URL, SQL_USERNAME,
SQL_PASSWORD);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

/**
* 私有的构造器
*/
private DBHandle() {
super();
// TODO Auto-generated constructor stub
}

/**
* 从配置文件获取连接属性
*/
private static void getPropertiesInfo() {

try {
FileInputStream fis = new FileInputStream(
"D:\\config\\db.properties");
Properties prop = new Properties();
// 获得相应的键值对
prop.load(fis);
// 根据相应的键获得对应的值
SQL_DRIVER = prop.getProperty("driver");
SQL_URL = prop.getProperty("url");
SQL_USERNAME = prop.getProperty("username");
SQL_PASSWORD = prop.getProperty("password");
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}

/**
* @author hwzhang
* @date 2012-12-4 下午08:58:07
* @Description 该方法用来加载驱动,并获得数据库的连接对象
* @return
*/
public static Connection getConnection() {
try {
if (connection == null || connection.equals(null)
|| connection.isClosed()) {
Class.forName(SQL_DRIVER);
connection = DriverManager.getConnection(SQL_URL, SQL_USERNAME,
SQL_PASSWORD);
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return connection;
}

/**
* @author hwzhang
* @date 2012-12-4 下午09:35:27
* @Description 关闭
* @param rs
* @param ps
*/
@SuppressWarnings("null")
public static void close(ResultSet resultSet,
PreparedStatement preparedStatement) {
try {
if (resultSet != null || !(resultSet.isClosed()))
resultSet.close();
if (preparedStatement != null || !(preparedStatement.isClosed()))
preparedStatement.close();

} catch (Exception e) {
e.printStackTrace();
}
}

/**
* @author hwzhang
* @date 2012-12-4 下午09:35:19
* @Description Description
* @param rs
* @param ps
* @param connection
*/
@SuppressWarnings("null")
public static void close(PreparedStatement preparedStatement,
Connection connection) {
try {
if (preparedStatement != null || !(preparedStatement.isClosed()))
preparedStatement.close();
if (connection != null || !(connection.isClosed()))
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

/**
* @author hwzhang
* @date 2012-12-4 下午09:35:19
* @Description Description
* @param rs
* @param ps
* @param connection
*/
@SuppressWarnings("null")
public static void close(ResultSet resultSet,
PreparedStatement preparedStatement, Connection connection) {
try {
close(resultSet, preparedStatement);
if (connection != null || !(connection.isClosed()))
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

附件是源码!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值