Как да свържете база данни в Java?
Докато пишете ИТ приложение с който и да е език за програмиране, потокът данни от и към приложението обслужва основната функционалност. Ако потокът от данни е засегнат по някакъв начин, това може да повлияе неблагоприятно на функционалността на приложението и може да причини голяма загуба на бизнеса.
Днес има различни методи за свързване на вашата програма с база данни, за да предоставите на потребителите информацията, която те изискват, да събира информация от потребителите, да изтрива информацията, както се изисква от потребителя, както и да актуализира данните в базата данни ежедневно.
Ще разгледаме един такъв подход, като използваме Java като наш език за програмиране, JDBC като метод за свързване с база данни и следваме обектно-ориентирания подход.
Какво е JDBC?
JDBC означава Java Database Connectivity и помага на Java програма да изпълнява различни видове операции над базата данни като създаване, четене, актуализиране и изтриване. Също така JDBC е Java API.
Използвайки JDBC, един програмист трябва да може:
- Установете връзка с базата данни
- Изпълнете SQL команди, като го изпратите до Database
- Тълкува резултатите, които идват от базата данни
Създаване на база данни за свързване на база данни в Java
Преди да работите с JDBC, е необходимо да имате база данни, за да се свържете с нея. Ще използваме базата данни на Oracle заради нашата илюстрация. Моля, изтеглете oracle 11g express edition от по-долу линк.
https://www.oracle.com/technetwork/products/express-edition/overview/index-100989.html
Вече имам готов софтуер за инсталиране на Oracle 10g, както можете да видите по-долу:
Източник : От моя работен плот
- Моля, щракнете двукратно върху инсталатора, по-долу ще се появи екранът. Щракнете върху следващия.
Източник : От моя работен плот
- Моля, приемете лицензионното споразумение и щракнете върху следващия.
Източник : От моя работен плот
- Моля, запазете настройките по подразбиране, както са и щракнете върху следващата.
Източник : От моя работен плот
- Той ще поиска парола, която ще бъде необходима, когато влезете в инстанция Oracle 11g. Моля, въведете паролата и щракнете върху следващата.
Източник : От моя работен плот
- След като въведете паролата, процесът на инсталиране ще започне. След като инсталацията приключи, на екрана на работния плот ще се създаде икона за пряк път. Ако не можете да го намерите, моля, отидете на старт на Windows и потърсете Oracle, трябва да го получите. Кликнете върху него и той ще отвори тънък клиент за вас чрез браузър. Влезте в инстанцията. Моля, обърнете внимание, че потребителското име ще бъде същото за Oracle DB т.е. система. Паролата ще бъде тази, която сте предоставили, докато конфигурирате базата данни.
Източник: От моя работен плот
- След като влезете, първият екран, който ще видите, ще изглежда по-долу:
Източник: От моя работен плот
- Сега нека създадем таблица. Моля, кликнете върху SQL модула от горния екран и изпълнете заявката по-долу.
Източник: От моя работен плот
- Както можете да видите, ние успешно създадохме таблица с името Educba.
Свържете база данни в Java
Има малко интерфейси и класове, които се използват за свързване към база данни и извършване на операции с помощта на JDBC API.
Ще ви обясним едно по едно, но нека първо ви представя програмата по-долу:
Източник: От моя работен плот
По-долу са интерфейсите, които ще използваме за свързване към базата данни и извършване на операции над нея:
- Мениджър на драйвери
- Връзка
- изявление
- Комплект за резултат
- Изготвено изявление
Нека разгледаме операциите, които можем да извършим като част от операцията JDBC.
- Съхранявайте данните от образувание в база данни, т.е. операцията за създаване
- Извлечете данните от субекта или боб от база данни
- Актуализирайте данните за субекта или боба в базата данни
- Изтрийте или премахнете данните от субекта или боб от базата данни.
Без значение каква операция извършваме, има някои основни стъпки, които биха останали същите:
1. Заредете драйвера.
Class. forName ("oracle.jdbc.driver.OracleDriver");
2. Създайте URL низ
String url="jdbc:oracle:thin:@172:.26.132.40:1521:orclilp";
3. Използвайте мениджъра на драйвери, за да създадете връзка
con=DriverManager.getConnection(URL, USERNAME, PASSWORD);
4. Използвайте справка за връзка, за да създадете Statement
stmt = conn.createStatement();
5. Използвайте оператор за изпълнение на заявката
6. Обработете набора от резултати (незадължително, зависи)
7. Освободете ресурсите накрая.
Илюстрация
Тъй като използваме базата данни на Oracle в нашата илюстрация, трябва да имаме необходимия драйвер, който трябва да бъде предоставен от Oracle. Класът на драйвери обикновено е под формата на jar файл с име ojdbc14.jar. Този драйвер трябва да бъде импортиран във вашата програма java като част от „Позовавани библиотеки“, ако не е там.
Ако сте инсталирали Oracle 11g във вашата папка C, в идеалния случай той може да бъде намерен в следния път: (Ако го няма, той може лесно да бъде изтеглен от тук)
C: \ oraclexe \ приложение \ Oracle \ продукт \ 10.2.0 \ сървър \ JDBC \ ИЪ
Източник: От моя работен плот
Трябва да има много jar файлове, но ojdbc14.jar е най-новият. Същото може да се използва за нашата цел. Този буркан трябва да бъде добавен към класния път на проекта. Моля, проверете изображението по-долу.
Източник: От моя работен плот
Нека създадем таблица на изпълнители със следните атрибути: (Можете директно да стартирате командния ред SQL, който идва като отделен модул от изданието Oracle Express. Но първо трябва да се свържете и да изпълните командата „свързване“, за да се свържете с базата данни.
Източник: От моя работен плот
Като част от тази илюстрация ще създадем три класа java, т.е. Artist.java, CreateTable.java и ArtistManagementDao.java, за да постигнем това.
Също така в слоя java трябва да създадем клас, наречен Artist bean. Този клас трябва да има атрибути на изпълнителя с горния контекст. Ще изглежда по-долу:
Artist.java
Нека създадем 2 други java класа с име ArtistManagementDao и CreateTable.java
ArtistManagementDao.java
package com;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class ArtistManagementDao (
private final static String DRIVERNAME="oracle.jdbc.driver.OracleDriver";
private final static String URL="jdbc:oracle:thin:@LENOVO-PC:1521:XE";
private final static String USERNAME="System";
private final static String PASSWORD="Your DB password";
private Connection con =null;
public void addArtist(Artist a)
(
try (
Class.forName(DRIVERNAME);
String sql="insert into Artist1 values (?, ?)";
con=DriverManager.getConnection(URL, USERNAME, PASSWORD);
PreparedStatement pst=con.prepareStatement(sql);
pst.setString(1, a.getArtistID());
pst.setString(2, a.getArtistName());
pst.executeUpdate();
) catch (ClassNotFoundException e) (
// TODO Auto-generated catch block
System.out.println(e);
) catch (SQLException e) (
System.out.println(e);
)
)
)
CreateTable.java
package com;
import java.sql.*;
public class CreateTable(
static final String DB_URL = "jdbc:oracle:thin:@LENOVO-PC:1521:XE";
static final String USER = "System";
static final String PASS = "Your DB Password";
public static void main(String() args) (
Connection conn = null;
Statement stmt = null;
try(
ArtistManagementDao am=new ArtistManagementDao();
Artist a=new Artist();
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("Connecting to a selected database…");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
System.out.println("Connected to database successfully");
System.out.println("Creating table");
stmt = conn.createStatement();
//ARTIST TABLE
String sql = "CREATE TABLE Artist3 " +
"(ArtistID varchar2(5) primary key not NULL, " +
" ArtistName varchar2(25))";
stmt.executeUpdate(sql);
System.out.println("Created table in given database…");
a.setArtistId("abc");
a.setArtistName("ankit");
am.addArtist(a);
System.out.println("\nArtistID="+a.getArtistID()+"\nArtistName="+a.getArtistName());
)catch(SQLException se)(
se.printStackTrace();
)catch(Exception e)(
e.printStackTrace();
)finally(
try(
if(stmt!=null)
conn.close();
)catch(SQLException se)(
)
try(
if(conn!=null)
conn.close();
)catch(SQLException se)(
se.printStackTrace();
)
)
)
)
CreateTable.java Обяснение:
1. Първо създадохме DB URL адрес, който трябва да има името на вашия компютър, както и номер на порта на DB (в идеалния случай 1521), предшестван от JDBC: oracle: thin: @. Тогава ние създадохме потребителско име и парола, за да предадем тези атрибути по време на връзка с база данни. Силно се препоръчва да се криптира тези стойности в производствената среда.
2. В клас CreateTable.java сме създали обект „am” и „a” от клас на ArtistManagementDao.java и Artist.java съответно.
3. След това се опитахме да установим връзката си, като следваме стъпките, които научихме по-рано, използвайки оператор conn.
4. След това създадохме таблица с име Artist3 и актуализирахме базата данни или го избутахме към базата данни с помощта на Execute оператора.
5. Сега, ако бихме искали да присвоим стойности на атрибутите, ще използваме обекта, който сме създали за клас художник и ще направим бележка, не този клас ще вмъкне стойността в Database, по-скоро ще бъде ArtistmanagementDao клас. Към момента вече имаме запаметени стойности в атрибути и в дневен клас ще видим как да натискаме това към базата данни.
6. И накрая, използвахме обект „am“ от ArtistManagementDao, за да предадем този обект „a“ на метод addArtist () от клас на ArtistManagementDao java.
7. Използвали сме също така да опитваме да хванем блок за улавяне на всякакви изключения и изхвърляне на същото.
Изпълнение на Изпълнител: Управление на Дао:
1. Класът Дао ни помага да изолираме приложния / бизнес слой от устойчивия слой. Това обикновено е релационната база данни.
2. Първо създадохме DB URL, който трябва да има името на компютъра ви, както и номера на DB порта (в идеалния случай 1521), предшестван от JDBC: oracle: thin: @. Тогава ние създадохме потребителско име и парола, за да предадем тези атрибути по време на връзка с база данни. Силно се препоръчва да се криптира тези стойности в производствената среда.
3. В метода addArtist се опитахме да установим връзката си, като следваме стъпките, които сме научили по-рано, използвайки оператор conn.
4. Сега използвахме метода на вмъкване, за да избутаме стойности от атрибути в базата данни.
5. В следващото изявление, за да тестваме, имаме извлечението get за извличане на стойности от базата данни.
6. Използвахме също да опитваме да хванем блок за улов на всякакви изключения и изхвърлянето на същото.
Препоръчителни статии
Това е ръководство за това как да свържете база данни в Java. Тук сме обсъдили Как да свържем база данни в Java заедно с интерфейси и класове, използвани за свързване на база данни. Можете също да разгледате следните статии, за да научите повече -
- Какво е SQL Server?
- Дали големите данни са база данни?
- Как работи JavaScript
- Многопоточни въпроси за интервю в Java