BigEdu.ru
» » » Работа с базами данных в JAVA на основе соединения JDBC
Вернуться назад

Работа с базами данных в JAVA на основе соединения JDBC

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

кафедра информационных технологий и автоматизированных систем

РЕФЕРАТ

на тему:

«Работа с базами данных в JAVA на основе соединения JDBC»

Минск, 2008

Как мы знаем, SQL-запросы предварительно компилируются по месту исполнения. Следовательно, чтобы ускорить их выполнение следует компиляцию запросов выполнять предварительно. Это реализуется командой prepareStatement класса PreparedStatement. Данная команда позволяется использовать SQL-запросы с параметрами. Параметры вставляются в запросы как знак вопроса. Сначала рассмотрим, как использовать инструкцию prepareStatement на следующем примере:

try{

Connection db=DriverManager.getConnection(url);

String sq_str="SELECT * FROM stud"; //Строка запроса на выборку

PreparedStatement prst= db.prepareStatement(sq_str);

ResultSet rs= prst.executeQuery(); //Переменная rs получает набор выбранных записей

while(rs.next()){ //Выполняем просмотр записей набора

String s=rs.getString("name")+ " "+ rs.getInt("groupp");

//Получаем содержимое полей name и

// groupp текущей записи

System.out.println("my-"+s);}//выводим запись на экран

System.out.println("OK");

// db.close(); //Закрываем БД.

}

catch(Exception er)

{System.out.println("Error has arised here:"+er);}

}

Инструкция на выборку создается в строке

PreparedStatement prst= db.prepareStatement(sq_str);

Скомпилированный заапрос выполняется обычным образом:

ResultSet rs= prst.executeQuery()

Теперь предположим, что мы хотим выполнить выборку студентов, чей возраст превосходит 19 лет. В этой связи нам надлежит ввести в запрос параметр. Делается это таким образом:

try{

Connection db=DriverManager.getConnection(url);

String sq_str="SELECT * FROM stud where age> ?"; //Строка запроса на //выборку с параметром

PreparedStatement prst= db.prepareStatement(sq_str);

prst.setInt(1,23); //установка значения параметра

ResultSet rs= prst.executeQuery(); //Переменная rs получает набор выбранных записей

while(rs.next()){ //Выполняем просмотр записей набора

String s=rs.getString("name")+ " "+ rs.getInt("groupp");

//Получаем содержимое полей name и

// groupp текущей записи

System.out.println("my-"+s);}//выводим запись на экран

System.out.println("OK");

// db.close(); //Закрываем БД.

}

catch(Exception er)

{System.out.println("Error has arised here:"+er);}

}

}

Сначала создается запрос на выборку:

String sq_str="SELECT * FROM stud where age> ?"; //Строка запроса на //выборку с параметром

В этом запросе место параметра отмечено знаком вопроса. Установка значения параметра реализуется следующим образом:

prst.setInt(1,23);

Параметрами метода setInt являются: номер вставляемого параметра (в нашем примере – 1) и значение вставляемого параметра (23) для поля age. Текстовые значения вставляются с помощью метода setString.

Обратимся к вызову хранимых процедур.

В отличие от запросов с параметрами здесь используют класс CallableStatement. Таким образом, запрос на вызов хранимой процедуры может иметь такой вид:

CallableStatement cs = db.prepareStatement(“call proc1(?,?)”);

cs.setSting(1,”hello”);

cs.setInt(2,10);

В создаваемом запросе указывается имя вызываемой процедуры proc1 и обозначаются позиции для параметров знаком ?. Установка значений параметров производится уже знакомым нам образом. Теперь для иллюстрации приведем код приложения, которое соединяется с сервером SQL Server 2000 и вызывает хранимую процедуру на сервере. Эта процедура имеет следующий вид.

CREATE PROCEDURE [dbo].proc1

@s varchar(16) OUTPUT

AS

Begin

SELECT @s="Hello From SQL Server"

END

RETURN 0

GO

В этой процедуре имеется выходной параметр типа varchar. В теле процедуры он получает значение текстовой строки "Hello From SQL Server". Таким образом, наша задача состоит в том, чтобы правильно соединиться с сервером SQL Server, создать в приложении вызов процедуры на сервере и установить выходной параметр. Этот параметр мы должны будем прочитать. Приведем текст готового приложения и дадим к нему пояснения.

import java.awt.*;

import java.net.*;

import java.sql.*;

import java.io.*;

public class lab6

{

public static void main(String args[])

{

String url="jdbc:odbc:sqlsource2";

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}

catch(Exception e)

{System.out.println("Classdefnotfound"+e);

}

try{

Connection db=DriverManager.getConnection(url);

CallableStatement cst= db.prepareCall("{call proc1(?)}");

cst.registerOutParameter(1, Types.VARCHAR,16);

cst.execute();

String str=cst.getString(

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать
Рефераты по информатике и программированию БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ кафедра информационных технологий и автоматизированных систем РЕФЕРАТ
Оценок: 1006 (Средняя 5 из 5)

Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.

© 2016 - 2022 BigEdu.ru