JDBC工具類及用法
阿新 • • 發佈:2019-01-30
1、配置資料庫配置檔案
在src目錄下新建jdbc.properties檔案,已鍵值對的形式編寫資料庫配置資訊。
driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/day07
user=root
password=1234
2、封裝JDBC工具類
package top.littlerich.utils;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;
public class JdbcUtils {
static final String DRIVERCLASS;
static final String URL;
static final String USER;
static final String PASSWORD;
static {
// 獲取ResourceBundle ctrl+2 l
ResourceBundle bundle = ResourceBundle.getBundle("jdbc" );
// 獲取指定的內容
DRIVERCLASS = bundle.getString("driverClass");
URL = bundle.getString("url");
USER = bundle.getString("user");
PASSWORD = bundle.getString("password");
}
static {
try {
Class.forName(DRIVERCLASS);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
// 獲取連線
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(URL, USER, PASSWORD);
}
/**
* 釋放資源
*
* @param conn
* 連線
* @param st
* 語句執行者
* @param rs
* 結果集
*/
public static void closeResource(Connection conn, Statement st, ResultSet rs) {
closeResultSet(rs);
closeStatement(st);
closeConn(conn);
}
/**
* 釋放連線
*
* @param conn
* 連線
*/
public static void closeConn(Connection conn) {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
conn = null;
}
}
/**
* 釋放語句執行者
*
* @param st
* 語句執行者
*/
public static void closeStatement(Statement st) {
if (st != null) {
try {
st.close();
} catch (SQLException e) {
e.printStackTrace();
}
st = null;
}
}
/**
* 釋放結果集
*
* @param rs
* 結果集
*/
public static void closeResultSet(ResultSet rs) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
rs = null;
}
}
}
3、使用JDBC工具類連線資料庫並進行CURD操作,用法示例:
//存放配置檔案
Properties prop = new Properties();
prop.load(new FileInputStream("src/dbcp.properties"));
//設定
//prop.setProperty("driverClassName", "com.mysql.jdbc.Driver");
//建立連線池
DataSource ds = new BasicDataSourceFactory().createDataSource(prop);
Connection conn=ds.getConnection();
String sql="insert into category values(?,?);";
PreparedStatement st=conn.prepareStatement(sql);
//設定引數
st.setString(1, "c012");
st.setString(2, "飲料1");
int i = st.executeUpdate();
System.out.println(i);
JdbcUtils.closeResource(conn, st, null);