English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Hier ist ein Beispiel, das die folgenden drei Abfragen sowie die open- und close-Anweisungen nutzt-
boolean execute(String SQL):Gibt einen Boolean-Wert zurück, wenn ein ResultSet-Objekt abgerufen werden kann;否则返回false。Verwenden Sie diese Methode, um SQL DDL-Anweisungen auszuführen oder wenn tatsächliche dynamische SQL erforderlich ist.
int executeUpdate(String SQL):Gibt die Anzahl der Zeilen zurück, die durch die SQL-Anweisung betroffen wurden. Verwenden Sie diese Methode, um SQL-Anweisungen auszuführen, für die Sie die Anzahl der betroffenen Zeilen benötigen, z.B. INSERT, UPDATE oder DELETE-Anweisungen.
ResultSet executeQuery(String SQL):Gibt ein ResultSet-Objekt zurück. Verwenden Sie diesen Methoden, um eine Ergebnismenge zu erhalten, genau wie bei SELECT-Anweisungen.
Dieser Beispielcode wurde basierend auf den Umgebungs- und Datenbankeinstellungen der vorangegangenen Kapitel erstellt.
Kopieren und fügen Sie den folgenden Beispielcode in JDBCExample.java ein und kompilieren und führen Sie ihn aus:
//步骤1.Erforderliche Softwarepakete importieren import java.sql.*; public class JDBCExample { // Name des JDBC-Treibers und der Datenbank-URL static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost/EMP"; // Datenbankanmeldeinformationen static final String USER = "username"; static final String PASS = "password"; public static void main(String[] args) { Connection conn = null; Statement stmt = null; try{ //步骤2:注册JDBC驱动程序 Class.forName("com.mysql.jdbc.Driver"); //步骤3:建立连接 System.out.println("Connecting to 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(); catch(SQLException se conn.close(); }catch(SQLException se){ //处理JDBC错误 se.printStackTrace(); }catch(Exception e){ //处理Class.forName的错误 e.printStackTrace(); }finally{ //用于关闭资源 try{ stmt.close(); catch(SQLException se }2){ } try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); } } System.out.println("再见!"); }//结束main }//结束JDBCExample
现在让我们编译上面的示例,如下所示:
C:\>javac JDBCExample.java C:\>
运行时JDBCExample,它将产生以下结果-
C:\>java JDBCExample 连接到数据库... 创建语句... 返回值是:false 影响的行: 1 ID: 100, 年龄: 18,第一个:Zara, 最后一个:Ali ID: 101,年龄: 25,第一个:Mahnaz, 最后一个:Fatma ID: 102,年龄: 30, 第一个:Zaid, 最后一个:Khan ID: 103,年龄: 30, 第一个:Sumit, 最后一个:Mittal 再见! C:\>