logo

Встановлення підключення JDBC в Java

Раніше Встановлення підключення JDBC в Java (передній кінець, тобто ваша програма Java, і бек-енд, тобто база даних), ми повинні дізнатися, що саме таке JDBC і чому він виник. Тепер давайте обговоримо, що саме означає JDBC, і пояснимо це за допомогою реальних ілюстрацій, щоб це запрацювало.

Що таке JDBC?

JDBC це абревіатура від Java Database Connectivity. Це вдосконалення ODBC (відкрите підключення до бази даних). JDBC — це стандартна специфікація API, розроблена для переміщення даних із інтерфейсу на сервер. Цей API складається з класів та інтерфейсів, написаних мовою Java. В основному він діє як інтерфейс (не той, який ми використовуємо в Java) або канал між вашою програмою Java і базами даних, тобто він встановлює зв’язок між ними, щоб програміст міг надсилати дані з коду Java і зберігати їх у базі даних для подальшого використання .

Ілюстрація: Робота JDBC у співвідношенні з реальним часом



робота_JDBC в реальному часі

Чому JDBC виник?

Як було сказано раніше, JDBC є прогресом для ODBC, залежність від платформи ODBC має багато недоліків. ODBC API було написано мовами C, C++, Python і Core Java, і, як ми знаємо, вищезазначені мови (окрім Java і деякої частини Python) залежать від платформи. Тому, щоб усунути залежність, JDBC був розроблений постачальником бази даних, яка складалася з класів та інтерфейсів, написаних на Java.

Кроки для підключення програми Java до бази даних

Нижче наведено кроки, які пояснюють, як підключитися до бази даних у Java:

як перевірити розмір екрана монітора

Крок 1 – Імпортуйте пакети
Крок 2 – Завантажте драйвери за допомогою метод forName().
Крок 3 – Зареєструйте драйвери за допомогою DriverManager
Крок 4 – Встановити зв’язок за допомогою об’єкта класу Connection
Крок 5 – Створіть заяву
Крок 6 – Виконайте запит
Крок 7 – Закрийте з’єднання

Підключення до бази даних Java

Встановлення-JDBC-з'єднання-в-Java

Давайте коротко обговоримо ці кроки перед реалізацією, написавши відповідний код для ілюстрації кроків підключення для JDBC.

Крок 1: Імпортуйте пакети

крок 2: Завантаження драйверів

Для початку вам спочатку потрібно завантажити драйвер або зареєструвати його перед використанням у програмі. Реєстрацію потрібно зробити один раз у вашій програмі. Ви можете зареєструвати драйвер одним із двох способів, зазначених нижче:

2-А Class.forName()

Тут ми завантажуємо файл класу драйвера в пам’ять під час виконання. Немає необхідності використовувати нові або створювати об'єкти. У наступному прикладі використовується Class.forName() для завантаження драйвера Oracle, як показано нижче:

немає вхідного сигналу
Class.forName(oracle.jdbc.driver.OracleDriver);>

2-Б DriverManager.registerDriver()

DriverManager — це вбудований клас Java зі статичним реєстром учасників. Тут ми викликаємо конструктор класу драйвера під час компіляції. У наступному прикладі використовується DriverManager.registerDriver() для реєстрації драйвера Oracle, як показано нижче:

 DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver())>

крок 3: Встановити з'єднання використовуючи в Об'єкт класу підключення

Після завантаження драйвера встановіть підключення, як показано нижче:

Connection con = DriverManager.getConnection(url,user,password)>
  • користувач: U sername, з якого можна отримати доступ до командного рядка SQL.
  • пароль: пароль, за допомогою якого можна отримати доступ до командного рядка SQL.
  • з: Це посилання на інтерфейс Connection.
  • Url : Уніфікований покажчик ресурсів, який створюється, як показано нижче:
String url = jdbc:oracle:thin:@localhost:1521:xe>

Якщо Oracle — це база даних, thin — це драйвер, @localhost — це IP-адреса, де зберігається база даних, 1521 — це номер порту, а xe — це постачальник послуг. Усі 3 параметри вище мають тип String і повинні бути оголошені програмістом перед викликом функції. Використання цього можна використати для формування остаточного коду.

крок 4: Створіть заяву

Після встановлення з’єднання ви можете взаємодіяти з базою даних. Інтерфейси JDBCStatement, CallableStatement і PreparedStatement визначають методи, які дозволяють надсилати команди SQL і отримувати дані з вашої бази даних.
Використання оператора JDBC виглядає наступним чином:

Statement st = con.createStatement();>

Примітка: Тут con є посиланням на інтерфейс підключення, використаний у попередньому кроці.

крок 5: Виконайте запит

Тепер настає найважливіша частина, тобто виконання запиту. Запит тут є запитом SQL. Тепер ми знаємо, що можемо мати декілька типів запитів. Деякі з них такі:

  • Запит на оновлення/вставлення таблиці в базу даних.
  • Запит на отримання даних.

Метод executeQuery() для Інтерфейс оператора використовується для виконання запитів на отримання значень з бази даних. Цей метод повертає об’єкт ResultSet, який можна використовувати для отримання всіх записів таблиці.
Метод executeUpdate(sql query) інтерфейсу Statement використовується для виконання запитів на оновлення/вставлення.

Псевдокод:

int m = st.executeUpdate(sql); if (m==1)  System.out.println('inserted successfully : '+sql); else  System.out.println('insertion failed');>

Тут sql - це SQL-запит типу String:

рядки java

Java




// This code is for establishing connection with MySQL> // database and retrieving data> // from db Java Database connectivity> /*> >*1. import --->java.sql> >*2. load and register the driver --->com.jdbc.> >*3. create connection> >*4. create a statement> >*5. execute the query> >*6. process the results> >*7. close> >*/> import> java.io.*;> import> java.sql.*;> class> GFG {> >public> static> void> main(String[] args)>throws> Exception> >{> >String url> >=>'jdbc: mysql://localhost:3306/table_name '>; // table details> >String username =>'rootgfg'>;>// MySQL credentials> >String password =>'gfg123'>;> >String query> >=>'select *from students'>;>// query to be run> >Class.forName(> >'com.mysql.cj.jdbc.Driver'>);>// Driver name> >Connection con = DriverManager.getConnection(> >url, username, password);> >System.out.println(> >'Connection Established successfully'>);> >Statement st = con.createStatement();> >ResultSet rs> >= st.executeQuery(query);>// Execute query> >rs.next();> >String name> >= rs.getString(>'name'>);>// Retrieve name from db> >System.out.println(name);>// Print result on console> >st.close();>// close statement> >con.close();>// close connection> >System.out.println(>'Connection Closed....'>);> >}> }>

>

>

Вихід :

console_window

Крок 6: Закриття з’єднань

Отже, нарешті ми надіслали дані у вказане місце, і тепер ми на порозі завершення нашого завдання. Після закриття з’єднання об’єкти Statement і ResultSet будуть закриті автоматично. Метод close() інтерфейсу Connection використовується для закриття з’єднання. Це показано нижче таким чином:

java ще якщо
 con.close();>

приклад:

Java


"що таке 10 із 100"



// Java Program to Establish Connection in JDBC> // Importing database> import> java.sql.*;> // Importing required classes> import> java.util.*;> // Main class> class> Main {> >// Main driver method> >public> static> void> main(String a[])> >{> >// Creating the connection using Oracle DB> >// Note: url syntax is standard, so do grasp> >String url =>'jdbc:oracle:thin:@localhost:1521:xe'>;> >// Username and password to access DB> >// Custom initialization> >String user =>'system'>;> >String pass =>'12345'>;> >// Entering the data> >Scanner k =>new> Scanner(System.in);> >System.out.println(>'enter name'>);> >String name = k.next();> >System.out.println(>'enter roll no'>);> >int> roll = k.nextInt();> >System.out.println(>'enter class'>);> >String cls = k.next();> >// Inserting data using SQL query> >String sql =>'insert into student1 values(''> + name> >+>'','> + roll +>',''> + cls +>'')'>;> >// Connection class object> >Connection con =>null>;> >// Try block to check for exceptions> >try> {> >// Registering drivers> >DriverManager.registerDriver(> >new> oracle.jdbc.OracleDriver());> >// Reference to connection interface> >con = DriverManager.getConnection(url, user,> >pass);> >// Creating a statement> >Statement st = con.createStatement();> >// Executing query> >int> m = st.executeUpdate(sql);> >if> (m ==>1>)> >System.out.println(> >'inserted successfully : '> + sql);> >else> >System.out.println(>'insertion failed'>);> >// Closing the connections> >con.close();> >}> >// Catch block to handle exceptions> >catch> (Exception ex) {> >// Display message when exceptions occurs> >System.err.println(ex);> >}> >}> }>

>

>

Вихід після імпорту даних у базу даних:

вихідний_екран_після_імпортування_даних