jdbc增刪改查操作數據庫
jdbcUtil工具包
package JDBC;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* JDBC工具類 (通常將方法設置爲靜態方法,不然還要通過new 一個對象來調用方法,不優雅,類加載時即加載)
* 1.獲取連接方法
* 2.關閉釋放jdbc使用的資源
* */
public class JDBCUtil {
private static Connection connection;
private static String url; //= "jdbc:mysql://"+ ip + ":" + port +"/"+ mysqldatabase
//遠程訪問mysql數據庫權限用戶的用戶名和密碼
private static String username = "root";//用戶名通常爲root
private static String password = "";//密碼通常空
//服務器ip,數據庫訪問端口port,數據庫名稱mysqldatabase
private static String ip = "192.168.43.160";
private static int port = 3306;//數據庫訪問端口號通常爲3306
//數據庫名稱
private static String mysqldatabase = "test";
private static PreparedStatement ps;
private static Statement stmt;
/**1.
* 獲取jdbc連接的方法getconnection (通過JDBCUtil.getConnection()來獲取一個JDBC的連接)
* ip 爲數據庫所在的遠程服務器的ip地址
* port 爲數據庫訪問的端口
* mysqldatabase 要連接的數據庫名稱
* */
// public static Connection getConnection(String ip,String mysqldatabase){
public static Connection getConnection(){
try {
//1加載驅動
Class.forName("com.mysql.jdbc.Driver");
//String url = "jdbc:mysql://ip:port/數據庫名稱";(port通常是3306,ip需輸入,數據庫名稱需輸入,用戶名密碼爲PHPMyAdmin的進入密碼)
//2.獲取連接,url爲jdbc連接:連接的mysql,服務器ip+數據庫的名稱 再由驅動管理者獲取連接(url,username,password)
url = "jdbc:mysql://"+ ip + ":" + port +"/"+ mysqldatabase;
return connection = DriverManager.getConnection(url, username, password);
} catch (Exception e) {//捕捉所有的異常
e.printStackTrace();
}
return null;
}
/**2.
* 關閉,釋放資源的方法close (若不存在使用下列資源,傳遞參數爲null即可,通過JDBCUtil.close()關閉資源)
* rs 爲結果集,通過JDBC查到的結果集,使用後需關閉釋放資源
* ps stmt 爲開啓的sql語句
* connection 爲jdbc的連接
* */
public static void close(ResultSet rs, PreparedStatement ps,Statement stmt,Connection connection){//棧式關閉(最先連接,最後關閉連接)
try{//關閉結果集
if(rs!=null) rs.close();
}catch (SQLException e){
e.printStackTrace();
}
try{//關閉sql語句
if(ps!=null) ps.close();
if(stmt!=null) stmt.close();
}catch (SQLException e){
e.printStackTrace();
}
try{//關閉連接
if(connection!=null) connection.close();
}catch (SQLException e){
e.printStackTrace();
}
}
}