Основы Java. 5. Databases
-
Upload
sergey-nemchinsky -
Category
Education
-
view
370 -
download
1
Transcript of Основы Java. 5. Databases
Основы Java. 4. Databases
Немчинский Сергей
2014
Концепция трех-тировогоприложения
Интерфейс
Бизнес логика
Данные
Обзорная лекция по работе с базами данных
Дисклеймер
Enterprise сервера
Основные понятия
Обьектные базы данных
Реляционные базы данных
JDBC
Drivers
ORM (Object-relational mapping)
Обьектные базы данных
Удобства Неудобства
Реляционные базы данных
EMPLOEE
ID NAME DEPARTMENT_ID
DEPARTMENTS
ID NAME DESCR
JDBC (Java Data Base Connectivity)
Как работает SUN (Oracle) Drivers Единый интерфейс ClassLoader JAVA_PATH
Connect
Class.forName(“full.driver.class”);
Connection con = DriverManager.getConnection(URL, Properties);
//URL: jdbc:oracle://host:port/SID
//MySQL: jdbc:mysql://host:port?var1=val1&…
Statemets &ResultState
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(“SQL statement”);
while(rs.next()){
String s = rs.getString(1);
int i = rs.getInt(2);
String name = rs.getString(“name”);
}
Close
Устанавливается реальное соединение
Закрываются обьекты в обратномпорядке
Connection pool
DateSource
Enterprise Server делает за нас
JNDI (Java Naming & Directory Interface)
Получение DateSource
Context contex = new InitalContext();
DateSource ds = (DateSource)context.lookup(“jdbc/name”);
Connection con = ds.getConnection();
ORM (Object Relational Mapping)
Основная идея
Hibernate foundation
JPA
Анотации
Мэппинг
@Entity
@Table (name=“TABLE_NAME”)
public class TableName implements Seralizable{
private static final long serialVersionUID=…;
@ID
@GeneratedValue
@SequenceGenerator(seqName=“SEQ_NAME”)
// @Column(name=“ssss”)
private int id;
Связи
@OneToOne
@OneToMany
@ManyToOne
Code
SessionFactory sf = new Configuration().configure().buildSessionFactory();
sf.openSession();
HQL
SQL
Criteria
Задание 1
Подключиться к базе данных с помощью plain JDBC
Вывести количество считанных обьектов
* вывести все поля ResultSet
Задание 2*
Настроить DateDource в Tomcat
Вывести количество считанных обьектов
вывести все поля ResultSet
Задание 3**
CRUD на Hibernate