Связь с базами данных через JDBC
Связавшись с базой данных, можно посылать запросы. Запрос хранится в объекте, реализующем интерфейс statement. Этот объект создается методом createstatement (), описанным в интерфейсе connection. Например:
Statement st = con.createStatement();
Затем запрос (query) заносится в этот объект методом execute () и потом выполняется методом getResultSet(). В простых случаях это можно сделать одним методом executeQuery (), например:
ResultSet rs = st.executeQuery("SELECT name, code FROM tbll");
Здесь из таблицы tbll извлекается содержимое двух столбцов name и code и заносится в объект rs класса, реализующего интерфейс ResultSet.
SQL-операторы INSERT, UPDATE, DELETE, CREATE TABLE и другие в простых случаях выполняются методом executeUpdate ().
Остается методом next () перебрать элементы объекта rs – строки полученных столбцов – и извлечь данные многочисленными методами getxxx () интерфейса ResultSet:
while (rs.next()){ emp[i] = rs.getString("name"); num[i] = rs.getlnt("code"); i++; }
Методы интерфейса ResultsetMetaData позволяют узнать количество полученных столбцов, их имена и типы, название таблицы, имя ее владельца и прочие сведения о представленных в объекте rs сведениях.
Если объект st получен методом:
Statement st = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_OPDATABLE);
…то можно перейти к предыдущему элементу методом previous (), к первому элементу – методом first (), к последнему – методом last (). Можно также изменять объект rs методами updatexxx () и даже изменять, удалять и добавлять соответствующие строки базы данных. Не все драйверы обеспечивают эти возможности, поэтому, надо проверить реальный тип объекта rs методами rs.getType() и rs.getConcurrency().
Интерфейс Statement расширен интерфейсом PreparedStatement, тоже позволяющим изменять объект ResultSet методами setxxx().
Интерфейс Preparedstatement, в свою очередь, расширен интерфейсом callablestatement, в котором описаны методы выполнения хранимых процедур.
В листинге П.1 приведен типичный пример запроса к базе Oracle через драйвер Oracle Thin. Апплет выводит в окно браузера четыре поля ввода для адреса базы, имени и пароля пользователя, и запроса. По умолчанию формируется запрос к стартовой базе Oracle, расположенной на локальном компьютере. Результат запроса выводится в окно браузера.