import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
//不能继承
public final class JdbcUtilsSingleton {
//1.去掉静态属性
private String url = "jdbc:sqlserver://localhost:1433;DataBaseName=HXParserDB";
private String username = "sa";
private String password = "123";
//2.创建静态私有对象
private static JdbcUtilsSingleton instance = new JdbcUtilsSingleton();
//3.公共方法返回私有对象
public static JdbcUtilsSingleton getInstance(){
return instance;
}
private JdbcUtilsSingleton() {
}
static {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
.newInstance();
} catch (Exception e) {
throw new ExceptionInInitializerError(e);
}
}
//4 去掉静态 非静态方法必须由实例调用
public Connection getConnection() throws Exception {
return DriverManager.getConnection(url, username, password);
}
public static void free(ResultSet rs, PreparedStatement pstmt, Connection conn) {
try {
if (rs != null)
rs.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (pstmt != null) {
pstmt.close();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (conn != null) {
conn.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}