English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Di seguito è riportato un esempio che utilizza tre query e le istruzioni open e close:
boolean execute(String SQL)Restituisce un valore booleano true se è possibile recuperare l'oggetto ResultSet; altrimenti restituisce false. Usa questo metodo per eseguire SQL DDL o quando è necessario utilizzare SQL dinamico.
int executeUpdate(String SQL)Restituisce il numero di righe influenzate dalla query SQL. Usa questo metodo per eseguire una query SQL, come INSERT, UPDATE o DELETE, per cui desideri ottenere il numero di righe influenzate.
ResultSet executeQuery(String SQL)Restituisce un oggetto ResultSet. Utilizza questo metodo quando desideri ottenere un set di risultati, come con una query SELECT.
Questo esempio di codice è stato scritto in base all'ambiente e alle impostazioni del database descritte nei capitoli precedenti.
Copia e incolla il seguente esempio in JDBCExample.java e compila e esegui come segue:
// Passaggio 1: importare i pacchetti necessari import java.sql.*; public class JDBCExample { // Nome del driver JDBC e URL del database static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost/EMP"; // Informazioni di autenticazione del database static final String USER = "username"; static final String PASS = "password"; public static void main(String[] args) { Connection conn = null; Statement stmt = null; try{ // Passaggio 2: registrare il driver JDBC Class.forName("com.mysql.jdbc.Driver"); // Passaggio 3: stabilire la connessione System.out.println("Connettando al database..."); conn = DriverManager.getConnection(DB_URL, USER, PASS); //步骤4:执行查询 System.out.println("Creating statement..."); stmt = conn.createStatement(); String sql = "UPDATE Employees set age=30 WHERE id=103"; //让我们检查它是否返回真实的结果集。 Boolean ret = stmt.execute(sql); System.out.println("Return value is : " + ret.toString() ); //让我们更新ID = 103的记录的年龄; int rows = stmt.executeUpdate(sql); System.out.println("Rows impacted : " + rows ); //让我们选择所有记录并显示它们。 sql = "SELECT id, first, last, age FROM Employees"; ResultSet rs = stmt.executeQuery(sql); //步骤5:从结果集中提取数据 while(rs.next()){ //按列名检索 int id = rs.getInt("id"); int age = rs.getInt("age"); String first = rs.getString("first"); String last = rs.getString("last"); //显示值 System.out.print("ID: " + id); System.out.print(", Age: " + age); System.out.print(", First: " + first); System.out.println(", Last: " + last); } //步骤6:清理环境 rs.close(); stmt.close(); conn.close(); }catch(SQLException se){ //处理JDBC错误 se.printStackTrace(); }catch(Exception e){ //处理Class.forName的错误 e.printStackTrace(); }finally{ //用于关闭资源 try{ if(stmt!=null) stmt.close(); }catch(SQLException se2){ } try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); } } System.out.println("Arrivederci!"); //Fine di main //Fine di JDBCExample
Ora, compiliamo l'esempio sopra indicato:
C:\>javac JDBCExample.java C:\>
EsecuzioneJDBCExampleProducirà i seguenti risultati,-
C:\>java JDBCExample Connessione al database... Creazione dello statement... Valore di ritorno: false Righe influenzate: 1 ID: 100, Età: 18, Primo: Zara, Cognome: Ali ID: 101, Età: 25, Primo: Mahnaz, Cognome: Fatma ID: 102, Età: 30, Primo: Zaid, Cognome: Khan ID: 103, Età: 30, Primo: Sumit, Cognome: Mittal Arrivederci! C:\>