JDBC Flashcards

1
Q

Что такое JDBC и что он нам позволяет как разработчикам?

A

Jdbc позволяет разработчику писать уровень баз данных в Java без привязки к конкретной базе данных или ее деталям.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Какие есть типы Statement?

A

Statement
PrepareStatement
CallableStatement

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Роль JDBC драйвера?

A

JDBC драйвер представляет реализации абстрактныз классов JDBC API для конкретной базы данных.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Какие преимущества PrepareStatement перед Statement?

A

PrepareStatement предварительно скомпилированный, и может использоваться с различными значениями.
Увеличение производительности при выполнении одинаковых запросов.
Защита jn SQL-инъекций

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Для чего используется CallableStatement?

A

Для вызова хранимых процедур

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Что значит Connection pooling?

A

Он подразумевает что в нашем распоряжении имеется некоторый набор (пул) соединений к базе даных.
Когда новый пользователь запрашивает доступ к БД, ему выдается уже открытое соединение из этого пула.
Как только пользователь освобождает одно из уже существующих соединений, ого становиться доступно для других пользователей.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Какие реализации Connection pool вы знаете?

A
JDBC Connection pool
DBCP
C3P0
Tomcat 7 JDBC Pool
OracleConnectionPoolDataSource
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Какие основные шаги подключения к базе данных через JDBC?

A
Загрузить драйвер 
Получить Connection
Получить объект Statement
Выполнить запрос
Закрыть Connection
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Что значит грязное чтение (dirty read) в базе данных?

A

Это чтение данных, которые могут быть неправильными, или не актуальными в текущий момент.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Что такое DataSource?

A

Это интерфейс который описывает физический источник данных. Альтернатива DriverManager

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Что такое параметризованные запросы?

A

Это запросы с входными параметрами.

Входной параметр - это параметр, чье значение не указывается при создании SQL-выражения

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Типы JDBC драйверов?

A

Мост JDBC-ODBC + драйвер ODBC
Наполовину Java драйвер
Сетевые JDBC-драйверы на чистой Java
Драйверы “родного” протокола СУБД

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Для чего используется класс java.sql.ResultSet

A

Результат запроса упаковываются в объект класса java.sql.ResultSet. Класс содержит большой набор методов работы с данными.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Поддерживает ли JDBC-ODBC мост несколько открытых Statement на один Connection?

A

Нет, только один Statement можно использовать на один Connection в JDBC-ODBC мосте

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Что такое транзакция?

A

Транзакция -это логическая единица работы.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Что такое Optimistic Locking?

A

Это стратегия блокирования в базе данных, которая не ограничивает доступ к строкам в таблице, но перед модификацией запрашивает у каждой строки атрибут Version с первичным значением 0 и проводит модификацию.

17
Q

Что такое Pessimistic locking?

A

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

18
Q

Какие стандартные уровни изоляции запросов в JDBC?

A
TRANSACTION_NONE
TRANSACTION_READ_COMMITTED
TRANSACTION_READ_UNCOMMITTED
TRANSACTION_REPEATABLE_READ
TRANSACTION_SERIALIZABLE
19
Q

Что значит auto-commit mode

A

Каждый sql-запрос будет выполнен как транзакция

20
Q

Что такое SavePoint?

A

SavePoint это точка сохранения в транзакции к которой можно откатиться при выполнении.

21
Q

Что такое jdbc batch update?

A

Это обновленые сгруппированные и отправленные пакетом запросы, а не друг за другом.