使用DBUtil類,封裝兩個靜態方法,一個獲得鏈接方法,一個關閉鏈接方法,以MySQL爲例:java
import java.sql.*;
public class DBUtil {
//建立鏈接
public static Connection get_conn(){
String url = "jdbc:mysql://localhost/JDBC?useSSL=false";
String user = "root";
String password = "root";
Connection conn = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
//關閉鏈接
public static void close_conn(Connection conn, Statement st, PreparedStatement pst){
if (conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (st != null){
try {
st.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (pst != null){
try {
pst.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
使用JDBC_test進行測試數據庫操做:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class JDBC_test {
public static void main(String[] args) {
Connection conn = DBUtil.get_conn();
PreparedStatement pst = null;
ResultSet re = null;
try {
String sql = "insert into person values('李志', '25', '南京')";
pst = conn.prepareStatement(sql);
pst.execute();
String sql1 = "select * from person";
pst = conn.prepareStatement(sql1);
pst.execute();
re = pst.executeQuery(sql1);
while (re.next()){
System.out.print("name:" + re.getString(1) + " age:" +re.getString(2) + " address:" + re.getString(3) +"\n");
}
} catch (SQLException e) {
e.printStackTrace();
}
DBUtil.close_conn(conn, null, pst);
}
}
複製代碼
針對數據庫鏈接操做封裝成類,須要數據庫操做直接經過類名來調用,在JDBC的各類語句執行中還有不少可優化的地方,你們不妨本身多研究一下。mysql