SQL基礎操作(十四)-JDBC連線優化、SQL語句測試
阿新 • • 發佈:2021-07-13
10.6 Statement物件
-
Statement物件的executeUpdate方法用於向資料庫傳送增刪改查的SQL語句,executeUpdate執行完成後,將會返回一個整數,即增刪改語句導致了資料庫幾行資料發生了變化。
-
Statement物件的executeQuery方法用於向資料庫傳送查詢語句,executeUpdate方法放回代表代表查詢結果的ResultSet物件。
10.6.1 JDBC連線優化
1.在src包下新建db.properties檔案儲存driver、username、password等資訊,用於後續資源載入
driver = com.mysql.jdbc.Driver
url = jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&useSSL=true
username = root
password = 123456
注意:每條語句結束後不能有“;”
2.在src下新建包utils,在包裡面新建類JdbcUtils,用於載入db.properties檔案資源、載入驅動、獲取連線、釋放連線資源等。
package utils;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
/**
* 用於載入db.properties檔案資源、載入驅動、獲取連線、釋放連線資源等
*/
public class JdbcUtils {
//屬性資訊
private static String driver = null;
private static String url = null;
private static String username = null;
private static String password = null;
static {
try{
//載入資源
InputStream in = JdbcUtils.class.getClassLoader().getResourceAsStream("db.properties");
//獲取資源
Properties properties = new Properties();
properties.load(in);
//獲取詳細資訊
driver = properties.getProperty("driver");
url = properties.getProperty("url");
username = properties.getProperty("username");
password = properties.getProperty("password");
//1.驅動只用載入一次
Class.forName(driver);
} catch(IOException | ClassNotFoundException e){
e.printStackTrace();
} catch(Exception e){
e.printStackTrace();
}
}
/**
* 獲取連線
* @return
* @throws SQLException
*/
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(url,username,password);
}
/**
* 釋放連線資源
* @param connection
* @param statement
* @param resultSet
*/
public static void release(Connection connection, Statement statement, ResultSet resultSet){
//關係的順序依次為resultSet、statement、connection
if(resultSet!=null){
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}