Использование Hibernate Java Persistence. Part 2. Для студентов старших курсов университетов Ст.преподаватель Дудник О.А.

Презентация:



Advertisements
Похожие презентации
Выражения унарные (унарный минус) арифметические (+, -, *, /) сравнения (, =, =, , LIKE, BETWEEN...) конкатенации (||) логические (NOT, AND, OR)
Advertisements

1 БАЗЫ ДАННЫХ Использование SQL для построения запросов. ЗАНЯТИЕ 6 ПУГАЧЁВ Ю.В. Учитель информатики Харьковская общеобразовательная школа І-ІІІ ступеней.
Базы данных Язык запросов SQL. Команда SELECT. Команда SELECT – выборка данных Общий синтаксис: SELECT [{ ALL | DISTINCT }] { список_вывода | * } FROM.
Hibernate cashe. Part 4 Для студентов старших курсов университетов Ст.преподаватель Дудник О.А.
СУБД 5. SQL для выборки данных. 2 SELECT Обработка элементов оператора SELECT выполняется в следующей последовательности: FROM – определяются имена используемых.
1 Лекция 6 Команды категории извлечения данных языка структурированных запросов SQL План лекции Выборка определенных столбцов таблицы Устранение избыточных.
Основы SQL Запросы к базе данных. Что такое база данных SQL? SQL (Structured Query Language - «Структурированный язык запросов») - универсальный компьютерный.
СУБД Microsoft Access 2003 Элементы языка SQL. Язык SQL SQL (Structured Query Language) – структурированный язык запросов Язык SQL применяется во многих.
История развития языка SQL Structured Query Language ɛ skju ɛ l ɛ skju ɛ l или si:kwəlsi:kwəl DML (Data Manipulation Language) DDL (Data Definition Language)
Расширенные темы 1. SQL запросы Язык JPQL является абстракцией и «общим знаменателем» всех SQL диалектов. Очевидно, что конкретный диалект обладает бОльшими.
Запросы в базе данных. Понятия запроса При работе с таблицами можно в любой момент выбрать из базы данных необходимую информацию с помощью запросов. Запрос.
1 Основы SQL: MySQL Будем использовать MySQL СУБД с открытым кодом Бесплатная версия (Community Edition) – на В Linux-дистрибутивах.
СУБД MySQL - клиент-серверная СУБД Числовые(целые,действительные) Существует несколько разных типов целых чисел, различающихся количеством байтов данных,
9 класс Запросы являются одним из основных инструментов выборки и обработки данных в таблицах базы данных. Запросы используют для анализа, просмотра и.
1. Операторов сравнения: 1. =,, <>, BETWEEN, IN, LIKE, AND, OR, NOT 2. Операндов, используемых для сравнения: 1. Константы (например, 365), 2. Текстовые.
Бланк запроса. Создание списка специальностей Вид при конструирования запросов.
Базы данных. Введение Базы данных обеспечивают хранение информации. Доступ к базе данных осуществляется через специальную программу - систему управления.
Вставка INSERT INTO table (column, column,...) VALUES (expr, expr...) LOAD DATA INFILE "C:\\tmp\\file.txt" INTO TABLE table.
Л.3. Конструирование запросов и работа с ними 1. Характеристика запросов 2. Технология создания запросов на выборку 3. Методика создания запросов других.
CREATE TABLE Ident_table ( ID int IDENTITY(1, 1), some_values varchar(50)); IDENTITY [ ( seed, increment ) ]
Транксрипт:

Использование Hibernate Java Persistence. Part 2. Для студентов старших курсов университетов Ст.преподаватель Дудник О.А.

Query with Hibernate Библиотека Hibernate предлагает три вида запросов к БД: Библиотека Hibernate предлагает три вида запросов к БД: Criteria HQL SQL

Запросы с использованием Criteria Объект Criteria создается с помощью метода createCriteria экземпляра класса Session:

Criteria //создаем критерий запроса Criteria crit = session.createCriteria(Student.class); //ограничиваем число результатов crit.setMaxResults(50); //помещаем результаты в список List studs = crit.list();

List studs = session.createCriteria(Student.class).add( Expression.like("name", "Ivanov%") ).add( Expression.between("age", 18, 25) ).list(); List studs = session.createCriteria(Student.class).add( Expression.like("name", "_van%") ).add( Expression.or( Expression.eq( "age", new Integer(20) ), Expression.isNull("age") ) ).list(); List studs = session.createCriteria(Student.class).add( Expression.in( "name", new String[] { "Ivanov Ivan", "Petrov Petia", "Zubin Egor" } ) ).add( Expression.disjunction().add( Expression.isNull("age") ).add( Expression.eq("age", new Integer(20) ) ).add( Expression.eq("age", new Integer(21) ) ).add( Expression.eq("age", new Integer(22) ) ) ) ).list()

Expression.like указывает шаблон, где _ любой один символ, % любое количество символов Expression.like указывает шаблон, где _ любой один символ, % любое количество символов Expression.isNull значение поля равно NULL. Expression.between age имя поля, 18 минимальное значение указанного поля, 25 его максимальное значение Expression.in указывает диапазон значений конкретного поля Expression.disjunction, Expression.or дизъюнкция (OR) объединяет в себе несколько других выражений оператором ИЛИ. Expression.eq определяет равенство поля какому-то значению.

Criteria Результаты также можно отсортировать: List studs = sess.createCriteria(Student.class).add( Expression.like("name", "Iv%").addOrder( Order.asc("name") )//по возрастанию.addOrder( Order.desc("age") )//по убыванию.list();

Запросы с использованием SQL session.createSQLQuery("select * from Student").addEntity(Student.class).list(); session.createSQLQuery("select id, name, age from Student").addEntity(Student.class).list(); Query query = session.createSQLQuery("select * from Student where name like ?").addEntity(Student.class); List result = query.setString(0, "Ivan%").list(); query = session.createSQLQuery("select * from Student where name like :name").addEntity(Student.class); query = session.createSQLQuery("select * from Student where name like :name").addEntity(Student.class); List result = query.setString("name", "Ivan%").list();

Запросы с использованием HQL HQL(The Hibernate Query Language Язык запросов Hibernate), который во многом похож на язык SQL, с той разницей, что является полностью объектно- ориентированным.

Запросы с использованием HQL HQL(The Hibernate Query Language Язык запросов Hibernate), который во многом похож на язык SQL, с той разницей, что является полностью объектно- ориентированным. For example: List studs = (List )session.createQuery("from Student order by name").list();

Запросы с использованием HQL List names = (List )session.createQuery("select stud.name from Student stud order by name").list();