第一次使用的話,需要使用mysql 的jdbc 驅動jar包
爲了對數據庫進行增刪改查,首先需要與數據庫進行連接,通常使用jdbc,具體的步驟流程如下:
-
首先建立連接,步驟是基本是固定的:
import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; public class Main { static String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT"; static String user = "root"; static String password =""; public static void main(String[] args) throws Exception { //1.註冊驅動 Class.forName("com.mysql.cj.jdbc.Driver"); //2.獲取連接 java.sql.Connection con = DriverManager.getConnection(url, user, password); //3.獲得預處理對象 String updsql = "update student set name=? where id=?"; String selsql = "select * from student"; PreparedStatement stat = con.prepareStatement(updsql); PreparedStatement stat2 = con.prepareStatement(selsql); //4.SQL語句佔位符設置實際參數 //SQL語句佔位符設置實際參數(佔位符就是先佔住一個固定的位置,等着你再往裏面添加內容的符號,廣泛用於計算機中各類文檔的編輯) stat.setString(1, "小明"); //索引參數1代表着sql中的第一個?號,也就是我需要將條件id所對應的name數據更新爲“小明” stat.setString(2, "2016222");//索引參數2代表着sql中的第二個?號,也就是條件是id爲"2016222" //5.執行SQL語句, int line = stat.executeUpdate(); //int executeUpdate(); --執行insert update delete語句。 System.out.println("更新記錄數"+ line); ResultSet rs = stat2.executeQuery(selsql);//ResultSet executeQuery(); --執行select語句。 while(rs.next()) { String id = rs.getString("id"); String name = rs.getString("name"); String gendar = rs.getString("gendar"); String age = rs.getString("age"); System.out.println("id=" + id + "\tname=" + name + "\t" + "\t" + "gendar=" + gendar + "\tage=" + age); } //6.釋放資源 stat.close(); stat2.close(); con.close(); } }
-
PreparedStatement
接口
Statement
對象用於將SQL語句發送到數據庫中執行,並從數據庫中讀取結果,執行的是不帶參數的靜態SQL語句。
而PreparedStatement
接口是Statement
的子接口,可以用於執行動態的SQL語句的。SQL 語句被預編譯並存儲在PreparedStatement
對象中,然後可以使用此對象多次高效地執行該語句。當然PreparedStatement
對象也可以用於執行不帶參數的預編譯SQL語句。