English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Это типичная последовательность шагов для использования пакетов с объектом PrepareStatement -
создается SQL-запрос с помощью значений-заполнителей.
Используя эти дваprepareStatement(); метод создает объект PrepareStatement.
Используя этот метод устанавливается автоматическая поддержка на false setAutoCommit();.
ИспользуяaddBatch();метод на созданном объекте инструкции добавляет любое количество SQL-запросов в пакет.
ИспользуяexecuteBatch();метод на созданном объекте инструкции для выполнения всех SQL-запросов.
В конце, используяcommit();Метод подтверждает все изменения.
Этот пример кода написан на основе настроек среды и базы данных, описанных в предыдущих главах.
Копируйте и вставляйте следующий пример в JDBCExample.java, как компилировать и запускать:
// Импортируемые необходимые пакеты 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"; // Database credentials static final String USER = "username"; static final String PASS = "password"; public static void main(String[] args) { Connection conn = null; PreparedStatement stmt = null; try{ // Зарегистрируйте JDBC драйвер Class.forName("com.mysql.jdbc.Driver"); // Откройте соединение System.out.println("Connecting to database..."); conn = DriverManager.getConnection(DB_URL,USER,PASS); // Создайте SQL команду String SQL = "INSERT INTO Employees(id,first,last,age) " + VALUES(?, ?, ?, ?); // Создайте preparedStatement System.out.println("Creating statement..."); stmt = conn.prepareStatement(SQL); // Установите автоматическую регистрацию в false conn.setAutoCommit(false); // Сначала выберем все записи и отобразим их. printRows(stmt); // Установите переменные stmt.setInt(1, 400); stmt.setString(2, "Pappu"); stmt.setString(3, "Singh"); stmt.setInt(4, 33); // Добавьте его в пул stmt.addBatch(); // Установите переменные stmt.setInt(1, 401); stmt.setString(2, "Pawan"); stmt.setString(3, "Singh"); stmt.setInt(4, 31); // Добавьте его в пул stmt.addBatch(); // Создайте int[] для хранения возвращенных значений int[] count = stmt.executeBatch(); // Очевидно, подтвердите команду для применения изменений conn.commit(); // Нам также нужно выбрать все записи и отобразить их. printRows(stmt); //Clean up environment stmt.close(); conn.close(); } //Handle JDBC error se.printStackTrace(); } //Handle Class.forName error e.printStackTrace(); } //Used to close resources try{ if(stmt!=null) stmt.close(); } } try{ if(conn!=null) conn.close(); } se.printStackTrace(); } } System.out.println("Goodbye!"); //End of main public static void printRows(Statement stmt) throws SQLException{ System.out.println("Displaying available rows..."); //Let's select all records and display them. String sql = "SELECT id, first, last, age FROM Employees"; ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ //Retrieve by column name int id = rs.getInt("id"); int age = rs.getInt("age"); String first = rs.getString("first"); String last = rs.getString("last"); //Display values System.out.print("ID: " + id); System.out.print(", Age: " + age); System.out.print(", First: " + first); System.out.println(", Last: " + last); } System.out.println(); rs.close(); //End of printRows() //End of JDBCExample
Now let's compile the above example as follows:
C:\>javac JDBCExample.java C:\>
runtimeJDBCExampleОно будет производить следующие результаты-
C:\>java JDBCExample Соединение с базой данных... Создание оператора... Отображение доступных строк... ID: 95, Возраст: 20, Имя: Sima, Фамилия: Chug ID: 100, Возраст: 35, Имя: Zara, Фамилия: Ali ID: 101, Возраст: 25, Имя: Mahnaz, Фамилия: Fatma ID: 102, Возраст: 30, Имя: Zaid, Фамилия: Khan ID: 103, Возраст: 30, Имя: Sumit, Фамилия: Mittal ID: 110, Возраст: 20, Имя: Sima, Фамилия: Chug ID: 200, Возраст: 30, Имя: Zia, Фамилия: Ali ID: 201, Возраст: 35, Имя: Raj, Фамилия: Kumar Отображение доступных строк... ID: 95, Возраст: 20, Имя: Sima, Фамилия: Chug ID: 100, Возраст: 35, Имя: Zara, Фамилия: Ali ID: 101, Возраст: 25, Имя: Mahnaz, Фамилия: Fatma ID: 102, Возраст: 30, Имя: Zaid, Фамилия: Khan ID: 103, Возраст: 30, Имя: Sumit, Фамилия: Mittal ID: 110, Возраст: 20, Имя: Sima, Фамилия: Chug ID: 200, Возраст: 30, Имя: Zia, Фамилия: Ali ID: 201, Возраст: 35, Имя: Raj, Фамилия: Kumar ID: 400, Возраст: 33, Имя: Pappu, Фамилия: Singh ID: 401, Возраст: 31, Имя: Pawan, Фамилия: Singh До свидания! C:\>