Экземпляр объекта оператора JDBC
Вот примеры использования следующих трех запросов и инструкций по открытию и закрытию:
Boolean execute (String SQL): возвращает логическое значение TRUE, если объект ResultSet может быть извлечен, в противном случае возвращает FALSE. Используйте этот метод для выполнения операторов DDL SQL или при использовании Real Dynamic SQL.
int executupdate (String SQL): возвращает количество строк, выполненных затронутым оператором SQL. Используйте этот метод, чтобы выполнить, и надеемся получить некоторые затронутые строки операторов SQL - например, вставить, обновить или удалять операторы.
ResultSet executeQuery (String SQL): возвращает объект ResultSet. Используйте этот метод, когда вы хотите получить набор результатов, точно так же, как использование оператора SELECT.
Этот пример кода, основанный на среде и установке базы данных в предыдущей главе, был написан.
Скопируйте следующий пример jdbcexample.java, компиляция и запустить, как показано ниже:
// Шаг 1. Импорт Требуемый PackagesImport java.sql.*; Открытый класс jdbcexample {// jdbc имени драйвера и URL -адреса базы данных Static Final String jdbc_driver = "com.mysql.jdbc.driver"; Статическая конечная строка db_url = "jdbc: mysql: // localhost/emp"; // учетные данные базы данных Static Final String user = "username"; статическая конечная строка Pass = "пароль"; public static void main (string [] args) {connection conn = null; Утверждение stmt = null; try {// Шаг 2: Зарегистрировать JDBC Driver Class.forname ("com.mysql.jdbc.driver"); // Шаг 3: Откройте систему соединения.out.println («Подключение к базе данных ...»); conn = drivermanager.getConnection (db_url, пользователь, Pass); // Шаг 4: Выполнить систему Query.out.println ("Создание оператора ..."); stmt = conn.createStatement (); String sql = "Обновление сотрудников Установите возраст = 30, где id = 103"; // Позвольте нам проверить, возвращает ли он истинный набор результатов или нет. Логический ret = stmt.execute (sql); System.out.println («Возвращение значения:» + ret.toString ()); // давайте обновим возраст записи с помощью ID = 103; int row = stmt.executeupdate (sql); System.out.println ("ряды затронуты:" + ряды); // Позвольте нам выбрать все записи и отобразить их. SQL = "Выберите идентификатор, сначала, последний, возраст от сотрудников"; ResultSet rs = stmt.executequery (sql); // Шаг 5: Извлеките данные из набора результатов while (rs.next ()) {// reture по имени столбца 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 (", возраст:" + возраст); System.out.print (", первое:" + первое); 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 (); } наконец {// наконец -то блок используется для закрытия ресурсов, попробуйте {if (stmt! = null) stmt.close (); } catch (sqlexception se2) {} // ничего мы не можем попробовать {if (conn! = null) conn.close (); } catch (sqlexception se) {se.printstacktrace (); } // end Наконец -то попробуйте} // end try system.out.println ("Прощай!"); } // end main} // end jdbcexampleТеперь составьте приведенный выше пример следующим образом:
C:> javac jdbcexample.java
При запуске JDBCEXAMPLE, он дает следующие результаты:
C:> Java Jdbcexample
Подключение к базе данных ... Создание заявления ... возвращаемое значение: Falserows Потроки: 1D: 100, возраст: 18, первое: Zara, последнее: Aliid: 101, возраст: 25, первое: махназ, последний: Fatmaid: 102, возраст: 30, первое: Zaid, Last: Hanid: 103, возраст: 30, первое: sumit, last: mittalgoodbye!
Jdbc callableStatement Encement объекта
Вот пример хранимой процедуры MySQL с использованием callableStatement вместе со следующим GetEmpName ():
Пожалуйста, убедитесь, что хранящаяся процедура была создана в базе данных EMP. Это можно сделать с помощью браузера MySQL запроса.
Delimiter $$ Процедура Drop If существует `emp`.` Getempname` $$ Create Processurure `emp`.` getempname` (в EMP_ID int, out EMP_FIRST VARCHAR (255)) Начните выберите первым в EMP_FIRST от сотрудников, где ID = EMP_ID; END $$ DELIMITER;
Этот код сценария был записан на основе установки среды и базы данных в предыдущей главе.
Скопируйте следующий пример jdbcexample.java, компиляция и запустить, как показано ниже:
// Шаг 1. Импорт Требуемый PackagesImport java.sql.*; Открытый класс jdbcexample {// jdbc имени драйвера и URL -адреса базы данных Static Final String jdbc_driver = "com.mysql.jdbc.driver"; Статическая конечная строка db_url = "jdbc: mysql: // localhost/emp"; // учетные данные базы данных Static Final String user = "username"; статическая конечная строка Pass = "пароль"; public static void main (string [] args) {connection conn = null; CallableStatement stmt = null; try {// Шаг 2: Зарегистрировать JDBC Driver Class.forname ("com.mysql.jdbc.driver"); // Шаг 3: Откройте систему соединения.out.println («Подключение к базе данных ...»); conn = drivermanager.getConnection (db_url, пользователь, Pass); // Шаг 4: Выполнить систему Query.out.println ("Создание оператора ..."); String sql = "{call getEmpname (?,?)}"; stmt = conn.preparecall (sql); // сначала привязать в параметре, затем свяжите параметр int empid = 102; stmt.setint (1, empid); // это установит идентификатор как 102 //, потому что второй параметр вышел, поэтому зарегистрируйте его stmt.registeroutparameter (2, java.sql.types.varchar); // Использование метода выполнения для запуска хранимой процедуры. System.out.println («Выполнение хранимой процедуры ...»); stmt.execute (); // Получить имя сотрудника с помощью метода getXXX string empname = stmt.getString (2); System.out.println («Имя EMP с id:» + empid + » - это» + empname); stmt.close (); conn.close (); } catch (sqlexception se) {// обрабатывать ошибки для jdbc se.printstacktrace (); } catch (Exception e) {// обрабатывать ошибки для class.forname e.printstacktrace (); } наконец {// наконец -то блок используется для закрытия ресурсов, попробуйте {if (stmt! = null) stmt.close (); } catch (sqlexception se2) {} // ничего мы не можем попробовать {if (conn! = null) conn.close (); } catch (sqlexception se) {se.printstacktrace (); } // end Наконец -то попробуйте} // end try system.out.println ("Прощай!"); } // end main} // end jdbcexampleТеперь составьте приведенный выше пример следующим образом:
C:> javac jdbcexample.java
При запуске JDBCEXAMPLE, он дает следующие результаты:
C:> Java Jdbcexample
Подключение к базе данных ... Создание оператора ... Выполнение хранимой процедуры ... Имя ИМТ с идентификатором: 102 - это Zaidgoodbye!