joined_document
.pdfПример SQL-запросов
1_drop_database.sql
2_create_database.sql
3_create_tables.sql
4_init_tables.sql
5_fill_tables.sql
7
JDBC
JDBC (Java Database
Connectivity)
Типы драйверов
Мост JDBC–ODBC + драйвер ODBC
Java–драйвер + native–библиотеки
Java–драйвер + сетевой протокол, независящий от СУБД + промежуточный Java–сервер
Java–драйвер + сетевой драйвер, напрямую работающий с СУБД
1
JDBC–URL
jdbc:<под-протокол>:<под-имя>
JDBC–URL
jdbc:<под-протокол>:<под-имя> odbc
mysql postgreesql
2
JDBC–URL
jdbc:<под-протокол>:<под-имя> shop
\\localhost:3306\shop
\\localhost\shop
Загрузка драйвера
String driverName =
“com.mysql.jdbc.Driver”;
Class.forName(driverName);
//DriverManager.registerDriver();
3
Создание подключения
import java.sql.Connection; import java.sql.DriverManager;
Connection connection = DriverManager.getConnection(
“jdbc:mysql://localhost/shop”, “shop”, “$HopP@ssw0rd”);
Подготовка к выполнению запроса
Statement – обычный SQL запрос
PreparedStatement –
подготовленный SQL запрос
CallableStatement – хранимая процедура
4
Выполнение запроса
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(
“SELECT ...”);
Выполнение запроса
Statement statement = connection.createStatement();
statement.executeUpdate(
“INSERT ...”);
5
Выполнение запроса
String sql = “INSERT INTO user”; sql += “(id,login,password)”; sql += “VALUES (?,?,?)”;
PreparedStatement statement = connection.prepareStatement(sql);
Выполнение запроса
statement.setInt(1, 34); statement.setString(2, “user”); statement.setString(3, “gfhjkm”); statement.executeUpdate();
6
Результат выполнения запроса
while(resultSet.next()) { resultSet.getString(1); resultSet.getInt(2); resultSet.getDouble(3);
...
}
Типы данных
CHAR |
getString() |
|
|
|
|
VARCHAR |
getString() |
|
|
|
|
LONGVARCHAR |
getAnsiiStream() |
|
getUnicodeStream() |
||
|
||
|
|
7
Типы данных
|
|
|
BIT |
boolean |
|
|
|
|
|
|
|
|
|
|
TINYINT |
byte или short |
|
|
|
|
|
|
|
|
|
|
SMALLINT |
short |
|
|
|
|
|
|
|
|
|
|
INTEGER |
int |
|
|
|
|
|
|
|
|
|
|
BIGINT |
long |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Типы данных
REAL |
float |
|
|
DOUBLE |
double |
|
|
FLOAT |
double |
|
|
8
Типы данных
DATE |
java.sql.Date |
|
|
TIME |
java.sql.Time |
|
|
TIMESTAMP |
java.sql.Timestamp |
|
|
Типы данных |
java.util.Date |
java.sql.Date |
java.sql.Time |
java.sql.Timestamp |
9