Скачать 277.91 Kb.
|
Создание приложений, используя расширенные возможности JDBC
На этом уроке вы изучите:
Запрос и модификация данных, используя объект PreparedStatement (ПодготовленныйОператор)Рассмотрим сценарий, в котором издательская компания New Publishers, ведет информацию о книгах и издателях в базе данных. Руководство New Publishers хотело бы иметь приложение, используя которое пользователи могли получать доступ к информации об авторах на основании различных критериев. Например, приложение должно извлекать детальную информацию обо всех авторах, живущих в городе, определенную во время выполнения приложения. В этом случае, Вы не можете использовать объект Statement, чтобы получить информацию, поскольку название города должно быть определено во время выполнения. Вам следует использовать объект PreparedStatement, так как он может принимать параметры во время выполнения. Интерфейс PreparedStatement является производным от интерфейса Statement и доступен в пакете java.sql. Объект PreparedStatement позволяет Вам передать параметры времени выполнения операторам SQL, чтобы запрашивать и модифицировать данные в таблице. Объекты PreparedStatement компилируются и подготовляются только однажды посредством JDBC. Будущие обращения объекта не перекомпилируют операторы SQL. Это помогает уменьшить загрузку сервера базы данных и, таким образом, повысить качество рабочих характеристик приложения. Методы интерфейса PreparedStatementИнтерфейс PreparedStatement наследует следующие методы из интерфейса Statement для выполнения операторов SQL:
В предположении, что Вы должны извлечь информацию об авторе через передачу id автора во время выполнения, оператор SQL с параметризованным запросом выглядит следующим образом: SELECT * FROM authors WHERE au_id = ? Чтобы передать такой запрос базе данных из приложения, Вы должны создать объект PreparedStatement, используя метод prepareStatement() объекта Connection. Вы можете использовать следующий вызов метода, чтобы подготовить оператор SQL, который принимает значения во время выполнения: stat=con.prepareStatement("SELECT * FROM authors WHERE au_id = ?"); Метод prepareStatement() объекта Connection принимает оператор SQL как параметр. Операторы SQL могут содержать символ ‘?’ как заполнитель, который может быть замещен вводимыми параметрами во время выполнения. Перед выполнением оператора SQL, определенного в объекте PreparedStatement, Вы должны установить значение каждого ‘?’ параметра. Это делается вызовом соответствующего метода setXXX(), где XXX это тип данных параметра. Например: stat.setString(1,"1001"); ResultSet result=stat.executeQuery(); В этом фрагменте кода, первый параметр метода setString() задает индексное значение заполнителя ‘?’, а второй параметр используется, чтобы установить ‘1001’ как значение заполнителя ‘?’. Вы можете использовать следующий фрагмент кода, когда значение для заполнителя ‘?’ получено из пользовательского интерфейса: stat.setString(1,aid.getText()); ResultSet result=stat.executeQuery(); В этом фрагменте кода метод setString() используется для установки значения заполнителя ‘?’ значением, полученным во время выполнения из текстового окна aid пользовательского интерфейса. Интерфейс PreparedStatement предоставляет различные методы для установки значения заполнителей для определенных типов данных. Таблица внизу представляет обычно используемые методы установки интерфейса PreparedStatement:
Извлечение строкМожно использовать следующий фрагмент кода, чтобы извлечь книги, написанные одним автором из таблицы titles, используя объект PreparedStatement: String str = "SELECT * FROM titles WHERE au_id = ?" PreparedStatement ps= con.prepareStatement(str); ps.setString(1, "1001"); ResultSet rs=ps.executeQuery(); В этом фрагменте кода, переменная str сохраняет оператор SELECT, который содержит один входной параметр. Метод setString() используется, чтобы установить значение для атрибута au_id таблицы titles. Оператор SELECT выполняется, используя метод executeQuery(), который возвращает объект ResultSet. Вставка строкМожно использовать следующий фрагмент кода, чтобы создать объект PreparedStatement, который вставляет строку в таблицу authors, передачей данных authors во время выполнения: String str = "INSERT INTO authors (au_id, au_fname, au_lname) VALUES (?, ?, ?)"; PreparedStatement ps = con.prepareStatement(str); ps.setString(1, "1001"); ps.setString(2, "Abraham"); ps.setString(3, "White"); int rt=ps.executeUpdate(); В этом фрагменте кода, переменная str сохраняет оператор INSERT, который содержит три входных параметра. Метод setString() используется, чтобы установить значения для au_id, au_fname, и au_lname столбцов таблицы authors. Оператор INSERT выполняется, используя метод executeUpdate(), который возвращает целочисленное значение, определяющее число строк вставленных в таблицу. Обновление и удаление строкМожно использовать следующий фрагмент кода, чтобы модифицировать штат CA , где город это Oakland в таблице authors, используя объект PreparedStatement: String str = "UPDATE authors SET state= ? WHERE city= ? "; PreparedStatement ps = con.prepareStatement(str); ps.setString(1, "CA"); ps.setString(2, "Oakland"); int rt=ps.executeUpdate(); В этом фрагменте кода, два входных параметра state и city содержат значения для state и city атрибутов таблицы authors, соответственно. Вы можете использовать следующий фрагмент кода, чтобы удалить строку из таблицы authors, где имя автора это Abraham , используя объект PreparedStatement: String str = "DELETE FROM authors WHERE au_fname= ? "; PreparedStatement ps = con.prepareStatement(str); ps.setString(1, "Abraham"); int rt=ps.executeUpdate(); |
Тема. Обмен информацией между приложениями Также создание объектов внутри одного из приложений средствами другого приложения существенно расширяет возможности и режимы работы.... | Программа по формированию навыков безопасного поведения на дорогах... Целями освоения дисциплины «Расширенные возможности Adobe Photoshop и gimp» являются | ||
Проекта: Разработка Web-приложений Разработка web-приложений, бизнес процесс разработки web-приложения, cms drupal, создание сайта кафедры | Программа по формированию навыков безопасного поведения на дорогах... Поскольку данная категория студентов не имеет возможности лично посещать учебное заведение, то теоретический материал и практические... | ||
Программа по формированию навыков безопасного поведения на дорогах... Создание атмосферы праздника, доброжелательности, дружеского общения. Создание возможности для проявления творчества и самостоятельности... | План работы центра «Трудового обучения» на 2012-2013 уч год Разработать модель комплекса пед диагностик, используя реальные возможности своего предмета | ||
Реферат должен содержать: титульный лист; содержание; введение; основную... Тiтеs Nеw Rотап Суr №14. Минимальный объем реферата без приложений должен составлять 70-80 страниц. Большие таблицы, иллюстрации... | Программа по формированию навыков безопасного поведения на дорогах... Целями освоения дисциплины «Создание Интернет-проектов. Уровень Разработка Web-приложений с помощью php и Mysql» являются | ||
Обособление приложений Углубление знаний по теме: закрепления понятия обособления; закрепления умения обособления определений и приложений | Программа элективного курса по физике Программу составила Цель курса – предоставление учащимся возможности удовлетворить индивидуальный интерес к изучению практических приложений физики в... | ||
Методические указания к лабораторным работам по изучению пакета разработки... Лабораторная работа № Создание табличных форм, параметризованных отчетов и форм «Главная/Детальная» 57 | Программа по формированию навыков безопасного поведения на дорогах... Возможности урока ограничены временем, а дополнительное образование является тем резервом, используя который, мы можем выстраивать... | ||
Рефератов (ргр) по дисциплине «Разработка приложений в среде Oracle» Разработка Delphi-приложений для Oracle. Визуальные компоненты для работы с набором данных | Реализация инновационной программы развития «создание креативной среды как возможности творческой самореализации участников образовательного процесса» | ||
И в более ранних версиях, используя огромные мультимедийные возможности... Рабочая программа по предмету «Информатика и икт» составлена на основе следующих нормативно-правовых документов | План работы на неделю, используя для этого еженедельник, специальный блокнот и т д.? а да Основная цель самоменеджмента состоит в том, чтобы максимально использовать собственные возможности, сознательно управлять течением... |