package com.yunchow.util;
import java.sql.*;
/**
* Jdbc tools
* @author yunchow
* @version 1.1 09/8/4
*/
public final class JdbcUtils {
private static MyDataSource dataSource;
// load database driver
static {
// 初始化数据源
// System.out.println("初始化数据源");
dataSource = new MyDataSource();
}
// to prevent from creating the JdbcUtils's instance
private JdbcUtils(){
}
/**
* to get a database connection
* @exception SQLException if cannot get a connection throws this
exception
* @return database connection, or null if failed
*/
public static Connection getConnection() throws SQLException {
try {
// System.out.println("get Connection...");
return dataSource.getConnection();
// return DriverManager.getConnection
("jdbc:sqlserver://localhost:1433;databasename=addressbook","sa","123456");
} catch (Exception ex) {
throw new SQLException(ex.getMessage());
}
}
// 关闭连接
public static void close(Connection conn) {
close(null, null, conn);
}
// 关闭连接,和stmt
public static void close(Statement stmt, Connection conn) {
close(null, stmt, conn);
}
/**
* to release database resource
* @param rs 结果集
* @param stmt
* @param conn 数据库连接
*/
public static void close(ResultSet rs, Statement stmt, Connection
conn) {
try {
if(rs != null) {
rs.close();
rs = null;
}
} catch (SQLException ex) {
throw new RuntimeException(ex);
}
try {
if(stmt != null) {
stmt.close();
stmt = null;
}
} catch (SQLException ex) {
throw new RuntimeException(ex);
}
try {
if(conn!=null && !conn.isClosed()) {
conn.close();
}
} catch (SQLException ex) {
throw new RuntimeException(ex);
}
}
}