English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Вот пример, который использует следующие три запроса и инструкции open и close -
boolean execute(String SQL): возвращает true, если можно получить объект ResultSet, в противном случае false. Используйте этот метод для выполнения SQL DDL операторов или когда вам нужно использовать реальный динамический SQL.
int executeUpdate(String SQL): возвращает количество строк,affected SQL оператором. Используйте этот метод для выполнения SQL операторов, таких как INSERT, UPDATE или DELETE.
ResultSet executeQuery(String SQL): возвращает объект ResultSet. Используйте этот метод, когда вы хотите получить результат集, как SELECT оператор.
Этот пример кода написан на основе环境和 базы данных, описанных в предыдущих главах.
Скопируйте и вставьте следующий пример в JDBCExample.java, как compile и run:
// шаг 1: импортируем необходимые пакеты import java.sql.*; public class JDBCExample { // имя JDBC драйвера и URL базы данных static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost/EMP"; // данные базы данных 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(); stmt.close(); conn.close(); } // обработка ошибок JDBC se.printStackTrace(); } // обработка ошибки Class.forName e.printStackTrace(); } // для закрытия ресурсов try{ if (stmt != null) stmt.close(); } } try{ if(conn!=null) conn.close(); } 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:\>