Kako spojiti bazu podataka u Javi?
Dok pišete IT aplikaciju koristeći bilo koji programski jezik, protok podataka iz i u aplikaciju služi osnovnoj funkciji. Ako se na protok podataka na neki način utječe, to može negativno utjecati na funkcionalnost aplikacije i može uzrokovati veliki gubitak za posao.
Danas su na raspolaganju različite metode za povezivanje vašeg programa s bazom podataka kako bi se korisnicima pružio informacije koje su tražili, prikupljali informacije od korisnika, brisali podatke prema korisniku i svakodnevno ažurirali podatke u bazu podataka.
Razmotrit ćemo jedan takav pristup koristeći Java kao naš programski jezik, JDBC kao metodu povezivanja baze podataka i slijedeći objektno orijentirani pristup.
Što je JDBC?
JDBC znači Java povezanost baze podataka i pomaže Java programu da izvodi različite vrste operacija nad bazom podataka kao što su stvaranje, čitanje, ažuriranje i brisanje. Također, JDBC je Java API.
Korištenjem JDBC programer bi trebao moći:
- Uspostavite vezu s bazom podataka
- Pokrenite SQL naredbe slanjem u bazu podataka
- Tumači rezultate koji dolaze iz baze podataka
Izrada baze podataka za povezivanje baze podataka u Javi
Prije rada s JDBC potrebno je imati bazu podataka da biste se mogli povezati s njom. Oracle bazu podataka koristit ćemo se radi naše ilustracije. Prenesite oracle 11g express izdanje s donje veze.
https://www.oracle.com/technetwork/products/express-edition/overview/index-100989.html
Kod mene je već spreman program za instaliranje Oracle 10 g, kao što možete vidjeti dolje:
Izvor : S moje radne površine
- Dvaput kliknite instalacijski program, ispod će se pojaviti ekran. Kliknite na sljedeći.
Izvor : S moje radne površine
- Prihvatite licenčni ugovor i kliknite na Next.
Izvor : S moje radne površine
- Pridržite se zadanih postavki i kliknite na Next.
Izvor : S moje radne površine
- Zatražit će lozinku koja će biti potrebna kad se prijavite u instancu Oracle 11g. Unesite lozinku i kliknite na Next.
Izvor : S moje radne površine
- Nakon što unesete lozinku, započet će postupak instalacije. Nakon instalacije dovršit će se ikona prečaca na radnoj površini. Ako ga ne možete pronaći, idite na početak prozora i potražite Oracle, trebali biste ga nabaviti. Kliknite na njega i on će vam otvoriti tanki klijent putem preglednika. Prijavite se u instancu. Napominjemo da će korisničko ime biti isto za Oracle DB tj. Sustav. Zaporka će biti ona koju ste naveli tijekom konfiguriranja baze podataka.
Izvor: S moje radne površine
- Sada kada se prijavite, prvi zaslon koji ćete vidjeti izgledat će u nastavku:
Izvor: S moje radne površine
- Sada napravimo tablicu. Molimo kliknite SQL modul s gornjeg zaslona i pokrenite donji upit.
Izvor: S moje radne površine
- Kao što vidite, uspješno smo stvorili tablicu s imenom Educba.
Povežite bazu podataka u Javi
Malo je sučelja i klasa koji se koriste za povezivanje s bazom podataka i obavljanje operacija pomoću JDBC API-ja.
Objasnit ćemo vam jednu po jednu, ali dopustite da vam prvo predstavim sljedeći program:
Izvor: S moje radne površine
Ispod su sučelja koja ćemo koristiti za povezivanje s Databaseom i izvršavanje operacija nad njim:
- Upravitelj vozača
- Veza
- izjava
- Skup rezultata
- Pripremljena izjava
Pogledajmo operacije koje možemo izvoditi kao dio JDBC operacije.
- Spremite podatke entiteta u bazu podataka, tj. Operaciju stvaranja
- Preuzmite podatke entitetu ili grahu iz baze podataka
- Ažurirajte podatke entiteta ili graha u bazi podataka
- Izbrišite ili uklonite podatke iz entiteta ili graha iz baze.
Bez obzira na to koju operaciju izvodimo, postoje osnovni koraci koji bi ostali isti:
1. Učitajte pogonitelj.
Class. forName ("oracle.jdbc.driver.OracleDriver");
2. Stvorite URL niz
String url="jdbc:oracle:thin:@172:.26.132.40:1521:orclilp";
3. Upotrijebite upravitelj upravljačkih programa za stvaranje veze
con=DriverManager.getConnection(URL, USERNAME, PASSWORD);
4. Za izradu Izjave upotrijebite referencu veze
stmt = conn.createStatement();
5. Koristite izjavu za izvršavanje upita
6. Obradite skup rezultata (izborno, ovisi)
7. Otpustite resurse u konačnici blok.
Ilustracija
Kako u našoj ilustraciji koristimo bazu podataka Oracle, moramo imati potreban pogonitelj koji bi nam trebao pružiti Oracle. Klasa upravljačkih programa obično je u obliku jar datoteke s imenom ojdbc14.jar. Ovaj bi pogonitelj trebao biti uvežen u vaš java program u sklopu "Navedenih knjižnica" ako ga nema.
Ako ste instalirali Oracle 11g u svoju C mapu, idealno ga je pronaći na donjem putu: (Ako ga nema, lako ga možete preuzeti odavde)
C: \ oraclexe \ app \ oracle \ proizvod \ 10.2.0 \ poslužitelj \ JDBC \ lib
Izvor: S moje radne površine
Trebalo bi biti dostupno puno jar datoteka, međutim ojdbc14.jar je najnoviji. Isto se može koristiti u našu svrhu. Ovaj staklenku treba dodati klasičnom putu projekta. Provjerite donju sliku.
Izvor: S moje radne površine
Napravimo tablicu umjetnika sa sljedećim atributima: (Možete izravno pokrenuti SQL naredbenu liniju koja dolazi kao poseban modul izdanja Oracle Express. No prvo se morate povezati i izvršiti naredbu "connect" kako biste se povezali na baze podataka.
Izvor: S moje radne površine
Kao dio ove ilustracije napravili bismo tri klase java, tj. Artist.java, CreateTable.java i ArtistManagementDao.java da bismo to postigli.
Također u java sloju moramo stvoriti klasu koja se naziva Artist bean. Ova klasa treba imati atribute Izvođača s gore navedenim kontekstom. Izgledat će dolje:
Artist.java
Napravimo još dvije java klase s imenom ArtistManagementDao i 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();
)
)
)
)
Objašnjenje CreateTable.java:
1. Prvo smo kreirali DB URL koji bi trebao imati naziv vašeg računala, kao i broj DB porta (u idealnom slučaju 1521), a ispred njega je JDBC: oracle: thin: @. Tada smo stvorili korisničko ime i lozinku kako bismo mogli proslijediti te atribute za vrijeme veze s Database-om. Preporučuje se kriptiranje ovih vrijednosti u proizvodnom okruženju.
2. U klasi CreateTable.java stvorili smo objekte "am" i "a" klase ArtistManagementDao.java i Artist.java respektivno.
3. Zatim smo pokušali uspostaviti našu vezu slijedeći korake koje smo ranije naučili pomoću conn izraza.
4. Zatim smo stvorili tablicu s imenom Artist3 i ažurirali bazu podataka ili je gurnuli u bazu pomoću Execute izjave.
5. Ako želimo dodijeliti vrijednosti atributima, iskoristićemo objekt koji smo stvorili za klasu umjetnika i napraviti bilješku, a ne ova klasa će vrijednost umetnuti u bazu podataka, već će biti ArtistmanagementDao klasa. Od sad već imamo pohranjene vrijednosti u atributima i vidjet ćemo u dnevnoj klasi kako to gurnuti u bazu podataka.
6. Konačno, koristili smo objekt "am" iz ArtistManagementDao kako bismo ovaj objekt "a" proslijedili metodi addArtist () klase ArtistManagementDao java.
7. Također smo pokušali uhvatiti blok za hvatanje izuzetaka i izbacivanje istih.
Objašnjenje ArtistManagementDao:
1. Dao klasa nam pomaže izolirati aplikacijski / poslovni sloj od trajnog sloja. To je obično relacijska baza podataka.
2. Prvo smo kreirali DB URL koji bi trebao imati naziv vašeg računala, kao i broj DB porta (u idealnom slučaju 1521), a ispred njega je JDBC: oracle: thin: @. Tada smo stvorili korisničko ime i lozinku kako bismo mogli proslijediti te atribute za vrijeme veze s Database-om. Preporučuje se kriptiranje ovih vrijednosti u proizvodnom okruženju.
3. Unutar metode addArtist, pokušali smo uspostaviti našu vezu slijedeći korake koje smo ranije naučili pomoću izraza conn.
4. Sada smo koristili metodu umetanja za pomicanje vrijednosti iz atributa u bazu podataka.
5. U sljedećoj izjavi, za testiranje, imamo izjavu get za preuzimanje vrijednosti iz baze podataka.
6. Također smo pokušali uhvatiti blok za hvatanje izuzetaka i izbacivanje istih.
Preporučeni članci
Ovo je vodič za povezivanje baze podataka u Java. Ovdje smo raspravljali o povezivanju Database u Java, zajedno s sučeljima i klasama koji se koriste za povezivanje baze podataka. Možete pogledati i sljedeće članke da biste saznali više -
- Što je SQL Server?
- Je li Big Data baza podataka?
- Kako funkcionira JavaScript
- Pitanja o višemjesečnom intervjuu na Javi