1. 環境配置
下載地址: 代碼如下:
Connection connectmysql? =? DriverManager.getConnection(“jdbc:mysql://localhost:3306/myuser”,”root” ,”root” );
4) 創建Statement對象:Statement 類的主要是用于執行靜態 SQL 語句并返回它所生成結果的對象。通過Connection 對象的 createStatement()方法可以創建一個Statement對象。例如:Statement statament = connection.createStatement(); 具體示例創建Statement對象代碼如下:
代碼如下:
Statement statamentMySQL =connectMySQL.createStatement();
另外,一般情況下都可以使用PreparedStatement來代碼Statement,因數PreparedStatement可以防止SQL注入攻擊,防止數據庫緩沖池溢出,代碼的可讀性,可維護性。具體示例創建PreparedStatement代碼如下:
代碼如下:
String sql = “Select title, year_made from movies where year_made >= ? and year_made ?PreparedStatement ps =connectMySQL.prepareStatement(sql);
5) 調用Statement對象的相關方法執行相對應的 SQL 語句:通過execuUpdate()方法用來數據的更新,包括插入和刪除等操作,例如向staff表中插入一條數據的代碼:
代碼如下:
statement.excuteUpdate( “INSERT INTO staff(name, age, sex,address, depart, worklen,wage)” + ” VALUES (‘Tom1’, 321, ‘M’, ‘china’,’Personnel’,’3′,’3000′ ) “) ;
若使用PreparedStatement,則:
prest.setInt(1,1980); //表示第1個參數為1980 prest.setInt(2,2004); ResultSet rs = prest.executeQuery();
通過調用Statement對象的executeQuery()方法進行數據的查詢,而查詢結果會得到 ResultSet對象,ResultSet表示執行查詢數據庫后返回的數據的集合,ResultSet對象具有可以指向當前數據行的指針。通過該對象的next()方法,使得指針指向下一行,然后將數據以列號或者字段名取出。如果當next()方法返回null,則表示下一行中沒有數據存在。使用示例代碼如下:
代碼如下:
ResultSet resultSet = statement.executeQuery( “select * from staff” );
6) 關閉數據庫連接:使用完數據庫或者不需要訪問數據庫時,通過Connection的close() 方法及時關閉數據連接。
3. 測試代碼
配置好環境后,就可以寫代碼測試是否能連通啦!
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class TestMysqlConn { public static void main(String[] args) { Connection con; Statement stmt; ResultSet rs; try { Class.forName("com.mysql.jdbc.Driver").newInstance(); //test為數據庫名,_test為表名。_test表中有三個字段:id name description con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test","root","root"); stmt = con.createStatement(); rs = stmt.executeQuery("select * from _test"); while(rs.next()){ int num = rs.getInt("id"); String name = rs.getString("name"); String des = rs.getString("description"); System.out.println(num + " " + name + " " + des); } stmt.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); System.out.println("連接失敗"); } } }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。