MYSQL的JDBCUtils的寫法


第一種方式(直接上源碼):

import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;
import java.util.ResourceBundle;

public class JDBCUtils1 {
// 聲明 數據庫基本四項 變量
// alt + 鼠標下移 批量編輯
private static String jdbc_driver;
private static String jdbc_url;
private static String jdbc_user;
private static String jdbc_password;

// 給變量賦值
static {
//sun公司提供了了工具類ResourceBundle 專門用於讀取src目錄下的properties的配置文件
ResourceBundle bundle = ResourceBundle.getBundle("jdbc");
jdbc_driver = bundle.getString("jdbc_driver");
jdbc_url = bundle.getString("jdbc_url");
jdbc_user = bundle.getString("jdbc_user");
jdbc_password = bundle.getString("jdbc_password");
}

// 注冊驅動(執行一次)
static {
try {
Class.forName(jdbc_driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}

// 提供獲取連接的方法
public static Connection getConnection() throws SQLException {
// 獲取連接
Connection connection = DriverManager.getConnection(jdbc_url, jdbc_user, jdbc_password);
return connection;
}

// 提供關閉資源的方法 【方法重載】3 dql
public static void closeResource(ResultSet resultSet, Statement statement, Connection connection) {
// 關閉結果集
// ctrl+alt+m 將java語句抽取成方法
closeResultSet(resultSet);
// 關閉語句執行者
closeStatement(statement);
// 關閉連接
closeConnection(connection);
}

// 提供關閉資源的方法 【方法重載】 2 dml
public static void closeResource(Statement statement, Connection connection) {
// 關閉語句執行者
closeStatement(statement);
// 關閉連接
closeConnection(connection);
}

private static void closeConnection(Connection connection) {
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

private static void closeStatement(Statement statement) {
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

private static void closeResultSet(ResultSet resultSet) {
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
第二種方式:
import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;

public class JDBCUtils2 {
// 聲明 數據庫基本四項 變量
// alt + 鼠標下移 批量編輯
private static String jdbc_driver;
private static String jdbc_url;
private static String jdbc_user;
private static String jdbc_password;

// 給變量賦值
static {
// 獲取自定義文件 io流 類加載器獲取
// 獲取此類的字節碼對象
System.out.println(JDBCUtils2.class.getClassLoader());
InputStream is = JDBCUtils2.class.getClassLoader().getResourceAsStream("jdbc.properties");
// 創建配置文件對象 key = value
Properties properties = new Properties();
try {
properties.load(is);
jdbc_driver=properties.getProperty("jdbc_driver");
jdbc_url=properties.getProperty("jdbc_url");
jdbc_user=properties.getProperty("jdbc_user");
jdbc_password=properties.getProperty("jdbc_password");
} catch (IOException e) {
e.printStackTrace();
}
}

// 注冊驅動(執行一次)
static {
try {
Class.forName(jdbc_driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}

// 提供獲取連接的方法
public static Connection getConnection() throws SQLException {
// 獲取連接
Connection connection = DriverManager.getConnection(jdbc_url, jdbc_user, jdbc_password);
return connection;
}

// 提供關閉資源的方法 【方法重載】3 dql
public static void closeResource(ResultSet resultSet, Statement statement, Connection connection) {
// 關閉結果集
// ctrl+alt+m 將java語句抽取成方法
closeResultSet(resultSet);
// 關閉語句執行者
closeStatement(statement);
// 關閉連接
closeConnection(connection);
}

// 提供關閉資源的方法 【方法重載】 2 dml
public static void closeResource(Statement statement, Connection connection) {
// 關閉語句執行者
closeStatement(statement);
// 關閉連接
closeConnection(connection);
}

private static void closeConnection(Connection connection) {
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

private static void closeStatement(Statement statement) {
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

private static void closeResultSet(ResultSet resultSet) {
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
第三種方式:
import org.junit.Test;
import java.sql.*;

public class JDBCUtils3 {
//注冊驅動(只注冊一次)
static {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
//提供獲取連接的方法
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection("jdbc:mysql://localhost:3306/db_day04","root","123");
}

//提供關閉資源的方法
//提供關閉資源的方法(兩種:1.dql 2.dml)
public static void closeResorce(ResultSet resultSet , Statement statement, Connection connection){
closeResultSet(resultSet);
closeConnection(connection);
closeStatement(statement);
}
public static void closeResorce(Statement statement,Connection connection){
closeConnection(connection);
closeStatement(statement);
}

private static void closeStatement(Statement statement) {
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

private static void closeConnection(Connection connection) {
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

private static void closeResultSet(ResultSet resultSet) {
if (resultSet != null){
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
第三種方式采用最原生的方式書寫,第二種則相對於第三種做了簡化,加入了配置文件,這樣只需要修改配置文件中的內容就可以達到修改配置工具類的作用,
第一種則采用sun公司推出的ResourceBundle,它可以專門讀取src文件目錄下的properties 文件,使用更加簡便


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM