工具类的两种存在形式
1,静态类的 方法(final,static,private的构造方法)
package com.xing.utils;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public final class StaticUtils {
private static String url= "jdbc:mysql://localhost:3306/XingCompany";//协议:自协议//[ip]:[port]/database
private static String user = "root";
private static String password = "";
private StaticUtils(){
}
static {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
throw new ExceptionInInitializerError(e);
}
}
public static Connection getConnection() throws SQLException{
return DriverManager.getConnection(url, user, password);
}
public static void free(Connection conn, Statement statement, ResultSet rs){
try {
if (rs != null){
rs.close();
}
} catch (Exception e) {
e.printStackTrace();
} finally{
try {
if (statement != null){
statement.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
}
2. 采用单例的方式(注意采用一个private static的变量封装ins,然后通过一个public static的方法公布出来,注意ins的预初始化。。。)
package com.xing.utils;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public final class SingletonUtil {
private String url= "jdbc:mysql://localhost:3306/XingCompany";//协议:自协议//[ip]:[port]/database
private String user = "root";
private String password = "";
private SingletonUtil(){
}
private static SingletonUtil ins = new SingletonUtil();
public static SingletonUtil getInstance(){
return ins;
}
static {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
throw new ExceptionInInitializerError(e);
}
}
public Connection getConnection() throws SQLException{
return DriverManager.getConnection(url, user, password);
}
public void free(Connection conn, Statement statement, ResultSet rs){
try {
if (rs != null){
rs.close();
}
} catch (Exception e) {
e.printStackTrace();
} finally{
try {
if (statement != null){
statement.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
}
浙公网安备 33010602011771号