Вы находитесь на странице: 1из 2

Автор курса: Мирончик Игорь Янович

clipperigor@gmail.com
(496)573-34-22
Курс лекций: Язык программирования Java. Создание приложений для работы с
базами данных – технологии ORM (Hibernate, TopLink )
5 дней (40 часов)

Аудитория: разработчики, переходящие на платформу Java, ориентирующиеся в одном из языков: C++,


Pascal, Clipper, Fox; знающие механизмы доступа к базам данных.
Цель курса: после завершения курса, слушатели самостоятельно смогут создавать клиентские приложения
на языке Java для реляционных баз данных с использованием библиотек ORM (object/relational mapping) –
TopLink и Hibernate.
При чтении курса строятся примеры приложений с использованием стандартных шаблонов, так же много
приводится примеров анти-патернов, которые, к сожалению, встречаются на практике и даже в сегодняшней
литературе.
Все примеры и презентации в виде рисунков (которые были сделаны лектором), передаются слушателям на
магнитных носителях.
Рекомендуемая литература: Брюс Эккель Философия JAVA, Питер. Джошуа Блох, Java. Эффективное
программирование, Лори; The J2EE 1.6 Tutorial, SUN, Документация по библиотекам Hibernate, TopLink

Краткое содержание курса


• Основы языка Java.
1. Почему Java? Краткий обзор Java - история. Первое простейшее приложение.
2. Сравнение интегрированных сред разработки Jdeveloper, Eclipse, Net Beanse. Рекомендации по
выбору среды разработки.
3. Четыре вида приложений, разрабатываемые в Java. Пакет – основа размещения классов. Сборка
приложений. Манифест и дескрипторы размещения приложений. Передача приложений конечным
пользователям, размещение на серверах приложений. Использование серверов для для поддержки
версионности приложений. Командная строка Java для запуска приложений. Использование
библиотек. Управление памятью из командной строки.
4. Скалярные и объектные типы данных. Статический и динамический контекст. Классы и загрузчики.
Синглетоны. Интерфейсы, перечисления и аннотации.
5. Использование UML для разработки моделей классов. Статическое и динамическое представление
классов. Ассоциации. Управление доступом к переменным и методам. Наследование и реализация
интерфейсов.
6. Обзор основных пакетов java. Классы для работы со строками (String, StringBuffer, StringBuilder,
StringTokenizer и др.). Класс Runtime и System – получение доступа к среде выполнения.
Управление свойствами среды выполнения Java.
7. Коллекции. Списки класса List. Стеки и класс LinkedList, создание очередей. Множества Set и
SortedSet.
8. Ассоциированные списки Map (HashMap, TreeMap, SortedMap, Vector и Enumeration. Файловый
ввод/вывод (InputStream, OutputStream и др.). Класс File. Чтение и запись данных, сериализация
объектов.
9. Основы кэширования данных. Мягкие с слабые ссылки. Пример создания собственного контейнера
объектов.
10. Сериализация данных. Сохранение и восстановление пользовательского интерфейса. Передача
объектов Java по сети. Краткое введение в события Java. Модель возникновения и обработки
событий. Вложенные и анонимные классы. Менеджеры компоновок. Использование классов
графического интерфейса пользователя Abstract Window Toolkit(AWT), Swing, технология SWT .
Формирование собственных компонент и их инсталяция в средах разработки.
11. Основы XML. Общая нотация языка разметки. Схема документа. Управление пространством имен.
DOM и SAX парсеры, использование Java классов для проверки документов. Построение схем
документов с помощью средств разработки Java. Введение в JAXB. Marshaling и UnMarshaling
XML документов. Создание объектов Java на основе XML документов.
12. Многопоточное программирование. Процессы и потоки, контексты. Приоритеты потоков и
синхронизация. Класс Thread и доступ к главному потоку. Два способа создания дочернего потока –
интерфейс Runnable и класс Thread. Группы потоков. Разработка приложений с использованием
средств многопоточного программирования.
13. Общая архитектура доступа к данным. ODBC и JDBC. Сравнение различных драйверов. URL базы
данных. Три способа соединения с данными Oracle из Java – обзор. Совместимость Oracle JDBC
драйверов. Конфигурация JDBC драйвера и его настройка.
14. Интерфейс Connection, Statement, ResultSet, MetaDataResultSet и другие, для обеспечения доступа к
данным (архитектура). Последовательность соединения с Базой Данных . Отображение типов дан-
ных реляционной базы на java.sql. Потоковые типы данных, хранение объектов Java в реляционной
базе данных, динамическое выполнение методов. Использование интерфейсов для извлечения дан-
ных
15. Выполнение хранимых процедур на сервере. Интерфейс CallableStatement. Получение наборов дан-
ных на сторону клиента через параметры и возвращаемые значения функций.
16. Обработка исключительных ситуаций на стороне клиента. Класс java.sql.SqlException. Извлечение
серверной информации об ошибке на стороне клиента.
17. Библиотеки ORM – Hibernate, TopLink, JDO, Apache OpenJPA. Спецификация JPA (Java Persistence
API) – обзор. Что выбрать?
18. Порядок инсталляции библиотеки ORM в пользовательское приложение на примере Hibernate или
TopLink. Настройка среды разработки для работы с ORM - Eclipse.
19. Конфигурация сессии и фабрики доступа к данным. Использование конфигурационных xml файлов.
20. Использование провайдера управления сущностями. Выполнение Native запросов в базу данных и
извлечение результатов. Отображение результатов на коллекции массивов. Использование
пакетных обновлений данных. Введение в систему управления транзакциями ORM.
21. Определение правил отображения реляционных данных на java объекты, с помощью аннотаций.
22. Создание простейшего сущностного компонента на основе таблицы в базе данных. Конфигурация
первичного ключа. Аннотация @Id, @SequenceGenerator, @TableGenerator. Композиционный пер-
вичный ключ. Аннотация @Embeddable и @EmbeddedId. Отображение композиционного первично-
го ключа на сущностный класс – аннотация @IdClass.
23. Конфигурация метаданных по таблицам и колонкам – аннотации @Table, @SecondaryTable.
@Column. Связанные колонки – @JoinColumn. Использование различных отношений между колон-
ками. Конфигурация базового отображения примитивных типов данных в таблицах - @Basic. Кон-
фигурация больших объектов - @ Lob. Конфигурация поля Version для производства оптимистиче-
ской блокировки записи.
24. Определение методов жизненного цикла сущностной компоненты - @Pre… и @Post… аннотации.
Ассоциация листенера и сущностного класса.
25. Конфигурация наследования в сущностных компонентах.
26. Язык запросов EJBQL, HQL. Использование аннотаций для создания именованных запросов
-@NamedQuery. Использование параметров в запросах. Создание динамических запросов –
javax.management.Query.
27. Механизмы управления постоянством. Шаблон класса для управления сущностными объектами.
Класс Persistence, EntityManagerFactory, EntityManager.
28. Создание комплексного клинт-серверного приложения с использованием технологии ORM

Вам также может понравиться