АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Откат к точке сохранения: savepoint1

Читайте также:
  1. III. Самостоятельное выполнение практических заданий (решить на двойном листочке)
  2. Аналитический подход к исследованию величин в критической точке
  3. В БЕСКОНЕЧНО УДАЛЕННОЙ ТОЧКЕ
  4. Вопрос35. Предел Функции в точке и на бесконечности. Геометрическая иллюстрация определений. Предел постоянной. Предел суммы, частного, произведения. Предел элементарных функций.
  5. Вопрос: Предел функции в точке. Геометрический смысл. Односторонние пределы.
  6. Графически получено оптимальное решение в точке М (4 ; 3 ) поэтому
  7. Дайте определение каждой из осей естественного координатного трехгранника и радиуса кривизны траектории в данной точке
  8. Дифференциал функции в точке
  9. Лекция 2 ДЕФОРМИРОВАННОЕ СОСТОЯНИЕ В ТОЧКЕ
  10. Определение дифференцируемости функции в точке.
  11. Понятие эластичности. Методы определения эластичности (по дуге и в точке).

При этом результаты выполнения запроса trueSQL будут сохранены перед попыткой повторения транзакции.

Пул соединений

При большом количестве клиентов, работающих с приложением, к его базе данных выполняется большое количество запросов. Установление соединения с БД является дорогостоящей (по требуемым ресурсам) операцией. Эффективным способом решения данной проблемы является организация пула (pool) используемых соединений, которые не закрываются физически, а хранятся в очереди и предоставляются повторно для других запросов.

Пул соединений – это одна из стратегий предоставления соединений приложению (не единственная, да и самих стратегий организации пула существует несколько).

Пул соединений можно организовать с помощью server.xml дескрипторного файла Аpache Tomcat в виде:

<Context docBase=" FirstProject " path="/FirstProject"
reloadable="true" source="com.ibm.etools.webtools.server: FirstProject">

<!—создание пул соединений для СУБД MySQL -->

<Resource auth="Container" name=" jdbc/db1 "

type=" javax.sql.DataSource "/>

<ResourceParams name=" jdbc/db1 ">

<parameter>

<name>factory</name>

<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>

</parameter>

<parameter>

<name> driverClassName </name>

<value> org.gjt.mm.mysql.Driver </value>

</parameter>

<!—url-адрес соединения JDBC для конкретной базы данных db1

Аргумент autoReconnect=true, заданный для url-адреса драйвера JDBC, должен автоматически разорвать соединение, если mysqld его закроет. По умолчанию mysqld закроет соединение через 8 часов.-->

<parameter>

<name> url </name>

<value> jdbc:mysql://localhost:3306/db1?autoReconnect=true

</value>

</parameter>

<parameter>

<name> usernam e</name>

<value> root </value>

</parameter>

<parameter>

<name> password </name>

<value> pass </value>

</parameter>

<parameter>

<name> maxActive </name>

<value> 500 </value>

</parameter>

<parameter>

<name>maxIdle</name>

<value>10</value>

</parameter>

<parameter>

<name>maxWait</name>

<value>10000</value>

</parameter>

<parameter>

<name>removeAbandoned</name>

<value>true</value>

</parameter>

<parameter>

<name>removeAbandonedTimeout</name>

<value>60</value>

</parameter>

<parameter>

<name>logAbandoned</name>

<value>true</value>

</parameter>

</ResourceParams>

</Context>

Найти и запустить данный пул соединений можно с помощью JNDI.

Разделяемый доступ к источнику данных можно организовать, например, путем объявления статической переменной типа DataSource из пакета javax.sql, однако в J2EE принято использовать для этих целей каталог. Источ­ник данных типа DataSource – это компонент, предоставляющий соединение
с приложением СУБД.

Класс InitialContext, как часть JNDI API, обеспечивает работу с каталогом именованных объектов. В этом каталоге можно связать объект источ­ника данных DataSource с некоторым именем (не только с именем БД, но и вообще
с любым), предварительно создав объект DataSource.

Затем созданный объект можно получить с помощью метода lookup() по его имени. Методу lookup() передается имя, всегда начинающееся с имени корневого контекста.

javax.naming.Context ct =

new javax.naming.InitialContext();

DataSource ds = (DataSource)ct.lookup("java:jdbc/db1");

Connection cn = ds.getConnection("root", "pass");

После выполнения запроса соединение завершается, и его объект возвращается обратно в пул вызовом:

cn.close();

Некоторые производители СУБД для облегчения создания пула соединений определяют собственный класс на основе интерфейса DataSource. В этом случае пул соединений может быть создан, например, следующим образом:

import COM.ibm.db2.jdbc.DB2DataSource;

...

DB2DataSource ds = new DB2DataSource();

ds.setServerName("//localhost:50000/db1");

Connection cn = ds.getConnection("db2inst1", "pass");

Драйвер определяется автоматически в объекте DB2DataSource.

Задания к главе 20

Вариант А

В каждом из заданий необходимо выполнить следующие действия:

· Организацию соединения с базой данных вынести в отдельный класс, метод которого возвращает соединение.

· Создать БД. Привести таблицы к одной из нормированных форм.

· Создать класс для выполнения запросов на извлечение информации из БД с использованием компилированных запросов.

· Создать класс на добавление информации.

· Создать HTML-документ с полями для формирования запроса.

· Результаты выполнения запроса передать клиенту в виде HTML-документа.

1. Файловая система. В БД хранится информация о дереве каталогов файловой системы – каталоги, подкаталоги, файлы.

Для каталогов необходимо хранить:

– родительский каталог;

– название.

Для файлов необходимо хранить:

– родительский каталог;

– название;

– место, занимаемое на диске.

· Определить полный путь заданного файла (каталога).

· Подсчитать количество файлов в заданном каталоге, включая вложенные файлы и каталоги.

· Подсчитать место, занимаемое на диске содержимым заданного каталога.

· Найти в базе файлы по заданной маске с выдачей полного пути.

· Переместить файлы и подкаталоги из одного каталога в другой.

· Удалить файлы и каталоги заданного каталога.

2. Видеотека. В БД хранится информация о домашней видеотеке – фильмы, актеры, режиссеры.

Для фильмов необходимо хранить:

– название;

– имена актеров;

– дату выхода;

– страну, в которой выпущен фильм.

Для актеров и режиссеров необходимо хранить:

– ФИО;

– дату рождения.

· Найти все фильмы, вышедшие на экран в текущем и прошлом году.

· Вывести информацию об актерах, снимавшихся в заданном фильме.

· Вывести информацию об актерах, снимавшихся как минимум в N фильмах.

· Вывести информацию об актерах, которые были режиссерами хотя бы одного из фильмов.

· Удалить все фильмы, дата выхода которых была более заданного числа лет назад.

3. Расписание занятий. В БД хранится информация о преподавателях
и проводимых ими занятиях.

Для предметов необходимо хранить:

– название;

– время проведения (день недели);

– аудитории, в которых проводятся занятия.

Для преподавателей необходимо хранить:

– ФИО;

– предметы, которые он ведет;

– количество пар в неделю по каждому предмету;

– количество студентов, занимающихся на каждой паре.

· Вывести информацию о преподавателях, работающих в заданный день недели в заданной аудитории.

· Вывести информацию о преподавателях, которые не ведут занятия
в заданный день недели.

· Вывести дни недели, в которых проводится заданное количество занятий.

· Вывести дни недели, в которых занято заданное количество аудиторий.

· Перенести первые занятия заданных дней недели на последнее место.

4. Письма. В БД хранится информация о письмах и отправляющих их людях.

Для людей необходимо хранить:

– ФИО;

– дату рождения.

Для писем необходимо хранить:

– отправителя;

– получателя;

– тему письма;

– текст письма;

– дату отправки.

· Найти пользователя, длина писем которого наименьшая.

· Вывести информацию о пользователях, а также количестве полученных и отправленных ими письмах.

· Вывести информацию о пользователях, которые получили хотя бы одно сообщение с заданной темой.

· Вывести информацию о пользователях, которые не получали сообщения с заданной темой.

· Направить письмо заданного человека с заданной темой всем адресатам.

5. Сувениры. В БД хранится информация о сувенирах и их производителях.

Для сувениров необходимо хранить:

– название;

– реквизиты производителя;

– дату выпуска;

– цену.

Для производителей необходимо хранить:

– название;

– страну.

· Вывести информацию о сувенирах заданного производителя.

· Вывести информацию о сувенирах, произведенных в заданной стране.

· Вывести информацию о производителях, чьи цены на сувениры меньше заданной.

· Вывести информацию о производителях заданного сувенира, произведенного в заданном году.

· Удалить заданного производителя и его сувениры.

6. Заказ. В БД хранится информация о заказах магазина и товарах в них.

Для заказа необходимо хранить:

– номер заказа;

– товары в заказе;

– дату поступления.

Для товаров в заказе необходимо хранить:

– товар;

– количество.

Для товара необходимо хранить:

– название;

– описание;

– цену.

· Вывести полную информацию о заданном заказе.

· Вывести номера заказов, сумма которых не превосходит заданную,
и количество различных товаров равно заданному.

· Вывести номера заказов, содержащих заданный товар.

· Вывести номера заказов, не содержащих заданный товар и поступивших в течение текущего дня.

· Сформировать новый заказ, состоящий из товаров, заказанных в текущий день.

· Удалить все заказы, в которых присутствует заданное количество заданного товара.

7. Продукция. В БД хранится информация о продукции компании.

Для продукции необходимо хранить:

– название;

– группу продукции (телефоны, телевизоры и др.);

– описание;

– дату выпуска;

– значения параметров.

Для групп продукции необходимо хранить:

– название;

– перечень групп параметров (размеры и др.).

Для групп параметров необходимо хранить:

– название;

– перечень параметров.

Для параметров необходимо хранить:

– название;

– единицу измерения.

· Вывести перечень параметров для заданной группы продукции.

· Вывести перечень продукции, не содержащий заданного параметра.

· Вывести информацию о продукции для заданной группы.

· Вывести информацию о продукции и всех ее параметрах со значениями.

· Удалить из базы продукцию, содержащую заданные параметры.

· Переместить группу параметров из одной группы товаров в другую.

8. Погода. В БД хранится информация о погоде в различных регионах.

Для погоды необходимо хранить:

– регион;

– дату;

– температуру;

– осадки.

Для регионов необходимо хранить:

– название;

– площадь;

– тип жителей.

Для типов жителей необходимо хранить:

– название;

– язык общения.

· Вывести сведения о погоде в заданном регионе.

· Вывести даты, когда в заданном регионе шел снег и температура была ниже заданной отрицательной.

· Вывести информацию о погоде за прошедшую неделю в регионах, жители которых общаются на заданном языке.

· Вывести среднюю температуру за прошедшую неделю в регионах
с площадью больше заданной.

9. Магазин часов. В БД хранится информация о часах, продающихся в магазина.

Для часов необходимо хранить:

– марку;

– тип (кварцевые, механические);

– цену;

– количество;

– реквизиты производителя.

Для производителей необходимо хранить:

– название;

– страну.

· Вывести марки заданного типа часов.

· Вывести информацию о механических часах, цена на которые не превышает заданную.

· Вывести марки часов, изготовленных в заданной стране.

· Вывести производителей, общая сумма часов которых в магазине
не превышает заданную.

10. Города. В БД хранится информация о городах и их жителях.

Для городов необходимо хранить:

– название;

– год основания;

– площадь;

– количество населения для каждого типа жителей.

Для типов жителей необходимо хранить:

– город проживания;

– название;

– язык общения.

· Вывести информацию обо всех жителях заданного города, разговаривающих на заданном языке.

· Вывести информацию обо всех городах, в которых проживают жители выбранного типа.

· Вывести информацию о городе с заданным количеством населения
и всех типах жителей, в нем проживающих.

· Вывести информацию о самом древнем типе жителей.

11. Планеты. В БД хранится информация о планетах, их спутниках
и галактиках.

Для планет необходимо хранить:

– название;

– радиус;

– температуру ядра;

– наличие атмосферы;

– наличие жизни;

– спутники.

Для спутников необходимо хранить:

– название;

– радиус;

– расстояние до планеты.

Для галактик необходимо хранить:

– название;

– планеты.

· Вывести информацию обо всех планетах, на которых присутствует жизнь, и их спутниках в заданной галактике.

· Вывести информацию о планетах и их спутниках, имеющих наименьший радиус и наибольшее количество спутников.

· Вывести информацию о планете, галактике, в которой она находится,
и ее спутниках, имеющей максимальное количество спутников, но
с наименьшим общим объемом этих спутников.

· Найти галактику, сумма ядерных температур планет которой наибольшая.

12. Точки. В БД хранится некоторое конечное множество точек с их координатами.

· Вывести точку из множества, наиболее приближенную к заданной.

· Вывести точку из множества, наиболее удаленную от заданной.

· Вывести точки из множества, лежащие на одной прямой с заданной прямой.

13. Треугольники. В БД хранятся треугольники и координаты их точек на плоскости.

· Вывести треугольник, площадь которого наиболее приближена к заданной.

· Вывести треугольники, сумма площадей которых наиболее приближена к заданной.

· Вывести треугольники, которые помещаются в окружность заданного радиуса.

14. Словарь. В БД хранится англо-русский словарь, в ко­тором для одного английского слова может быть указано нес­колько его значений и наоборот. Со стороны клиента вводятся последовательно английские (русские) слова. Для каждого из них вывести на консоль все русские (английские) значения слова.

15. Словари. В двух различных базах данных хранятся два словаря: русско-белорусский и белорусско-русский. Клиент вводит слово и выбирает язык. Вывести перевод этого слова.

16. Стихотворения. В БД хранятся несколько стихотворений с указанием автора и года создания. Для хранения стихотворений использовать объекты типа Blob. Клиент выбирает автора и критерий поиска.

· в каком из стихотворений больше всего восклицательных предложений?

· в каком из стихотворений меньше всего повествовательных предложений?

· есть ли среди стихотворений сонеты и сколько их?

17. Четырехугольники. В БД хранятся координаты вершин выпуклых четырехугольников на плоскости.

· Вывести координаты вершин параллелограммов.

· Вывести координаты вершин трапеций.

18. Треугольники. В БД хранятся координаты вершин треугольников
на плоскости.

· Вывести все равнобедренные треугольники.

· Вывести все равносторонние треугольники.

· Вывести все прямоугольные треугольники.

· Вывести все тупоугольные треугольники с площадью больше заданной.

Вариант B

Для заданий варианта В главы 4 создать базу данных для хранения информации. Определить класс для организации соединения (пула соединений). Создать классы для выполнения соответствующих заданию запросов в БД.

Тестовые задания к главе 20


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.023 сек.)