Cum să conectați baza de date în Java? - Interfețe și funcționare JDBC

Cuprins:

Anonim

Cum să conectați baza de date în Java?

În timp ce scrieți o aplicație IT folosind orice limbaj de programare, fluxul de date din și către aplicație servește funcționalității de bază. Dacă fluxul de date este oarecum afectat, acesta poate afecta negativ funcționalitatea aplicației și poate cauza o pierdere mare pentru întreprindere.

Există astăzi diferite metode de conectare a programului dvs. la o bază de date, pentru a oferi utilizatorilor informațiile solicitate, pentru a colecta informații de la utilizatori, pentru a șterge informațiile cerute de utilizator și pentru a actualiza datele la baza de date zilnic.

Vom analiza o astfel de abordare folosind Java ca limbaj de programare, JDBC ca metodă de conectare a bazelor de date și urmând abordarea orientată pe obiect.

Ce este JDBC?

JDBC reprezintă conectivitatea bazelor de date Java și ajută un program Java să efectueze diferite tipuri de operații peste baza de date, cum ar fi crearea, citirea, actualizarea și ștergerea. De asemenea, JDBC este o API Java.

Utilizând JDBC, un programator ar trebui să poată:

  • Stabiliți o conexiune cu Baza de date
  • Rulați comenzi SQL trimitând-o la Baza de date
  • Interpretează rezultatele care provin din baza de date

Crearea unei baze de date pentru conectarea bazei de date în Java

Înainte de a lucra cu JDBC, este necesar să aveți o bază de date pentru a vă conecta la aceasta. Vom folosi baza de date Oracle pentru ilustrarea noastră. Vă rugăm să descărcați oracle 11g ediție expresă de sub link.

https://www.oracle.com/technetwork/products/express-edition/overview/index-100989.html

Am deja programul de instalare Oracle 10g pregătit pentru mine, după cum puteți vedea mai jos:

Sursa : De pe desktopul meu

  • Vă rugăm să faceți dublu clic pe instalator, sub ecran va apărea. Faceți clic pe următorul.

Sursa : De pe desktopul meu

  • Vă rugăm să acceptați acordul de licență și dați clic pe următorul.

Sursa : De pe desktopul meu

  • Vă rugăm să păstrați setările implicite așa cum sunt ele și dați clic pe următorul.

Sursa : De pe desktopul meu

  • Va cere o parolă care va fi necesară atunci când vă conectați la instanța Oracle 11g. Vă rugăm să furnizați parola și dați clic pe următorul.

Sursa : De pe desktopul meu

  • După ce furnizați parola, procesul de instalare va începe. După terminarea instalării, se va crea o pictogramă rapidă pe ecranul desktopului. Dacă nu sunteți în stare să îl găsiți, vă rugăm să accesați Windows și să căutați Oracle, ar trebui să îl obțineți. Faceți clic pe el și vă va deschide un client subțire pentru dvs. printr-un browser. Conectați-vă la instanță. Rețineți că numele de utilizator va fi același pentru sistemul Oracle DB. Parola va fi cea pe care ați furnizat-o în timpul configurarii bazei de date.

Sursa: De pe desktopul meu

  • Acum, după conectare, primul ecran pe care îl veți vedea va arăta mai jos:

Sursa: De pe desktopul meu

  • Acum, să creăm un tabel. Faceți clic pe modulul SQL din ecranul de mai sus și rulați interogarea de mai jos.

Sursa: De pe desktopul meu

  • După cum vedeți, am creat cu succes un tabel cu numele Educba.

Conectați baza de date în Java

Există câteva interfețe și clase care sunt utilizate pentru a vă conecta la o bază de date și pentru a efectua operațiuni folosind API-ul JDBC.

Vă vom explica unul câte unul, dar permiteți-mi să vă prezint mai întâi programul de mai jos:



Sursa: De pe desktopul meu

Mai jos sunt interfețele pe care le vom folosi pentru a ne conecta la baza de date și pentru a efectua operațiuni peste ea:

  1. Conducător auto
  2. Conexiune
  3. Afirmație
  4. Setul de rezultate
  5. Declarație pregătită

Să ne uităm la operațiile pe care le putem efectua ca parte a operației JDBC.

  1. Stocați datele dintr-o entitate într-o bază de date, adică operațiunea de creare
  2. Recuperați datele către entitate sau bean dintr-o bază de date
  3. Actualizați datele pentru entitate sau fasolea din baza de date
  4. Ștergeți sau eliminați datele din entitate sau un fasol din baza de date.

Indiferent ce operație efectuăm, există câteva etape de bază care ar rămâne aceleași:

1. Încărcați șoferul.

Class. forName ("oracle.jdbc.driver.OracleDriver");

2. Creați un șir URL

String url="jdbc:oracle:thin:@172:.26.132.40:1521:orclilp";

3. Utilizați driverul de driver pentru a crea o conexiune

con=DriverManager.getConnection(URL, USERNAME, PASSWORD);

4. Utilizați referința de conexiune pentru a crea o declarație

stmt = conn.createStatement();

5. Utilizați o instrucțiune pentru a executa interogarea

6. Procesați setul de rezultate (opțional, depinde)

7. Eliberați resursele în blocul final.

Ilustrare

Deoarece folosim baza de date Oracle în ilustrația noastră, trebuie să avem driverul necesar care ar trebui să fie furnizat de Oracle. Clasa de șofer are de obicei forma unui fișier jar cu numele ojdbc14.jar. Acest driver ar trebui să fie importat în programul dvs. Java, ca parte a „Bibliotecilor referite” dacă nu există.

Dacă ați instalat Oracle 11g în folderul dvs. C, acesta poate fi găsit în mod ideal în calea de mai jos: (Dacă nu este acolo, poate fi descărcat cu ușurință de aici)

C: \ oraclexe \ app \ Oracle \ produs \ 10.2.0 \ server \ jdbc \ lib

Sursa: De pe desktopul meu

O mulțime de fișiere jar ar trebui să fie disponibile, însă ojdbc14.jar este cel mai recent. Același lucru poate fi folosit pentru scopul nostru. Acest borcan trebuie adăugat pe calea de clasă a proiectului. Vă rugăm să verificați imaginea de mai jos.

Sursa: De pe desktopul meu

Să creăm un tabel artist cu următoarele atribute: (Puteți rula direct linia de comandă SQL care vine ca un modul separat al ediției Oracle Express. Dar mai întâi trebuie să vă conectați și puteți executa comanda „conectați” pentru a vă conecta la baza de date.

Sursa: De pe desktopul meu

Ca parte a acestei ilustrații, am crea trei clase de java, adică Artist.java, CreateTable.java și ArtistManagementDao.java pentru a realiza acest lucru.

Tot în stratul java, trebuie să creăm o clasă numită Artist bean. Această clasă ar trebui să aibă atribute ale artistului cu contextul de mai sus. Va arăta ca mai jos:

Artist.java

Să creăm alte 2 clase java cu numele 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();
)
)
)
)

CreateTable.java Explicație:

1. Am creat pentru prima dată URL-ul DB care ar trebui să aibă numele computerului dvs., precum și numărul de port DB (ideal 1521), precedat de JDBC: oracle: thin: @. Apoi am creat nume de utilizator și parolă pentru a trece aceste atribute în timpul conectării la Baza de date. Este foarte recomandat să criptați aceste valori în mediul de producție.

2. În clasa CreateTable.java, am creat un obiect „am” și „a” din clasele ArtistManagementDao.java și, respectiv, Artist.java.

3. Apoi am încercat să stabilim conexiunea noastră urmând pașii pe care i-am învățat anterior folosind o instrucțiune conn.

4. Apoi, am creat un tabel cu numele Artist3 și am actualizat baza de date sau am împins-o în baza de date folosind execuția instrucțiunii.

5. Acum, dacă am dori să atribuim valori atributelor, vom folosi obiectul pe care l-am creat pentru clasa de artist și vom face o notă, nu această clasă va insera valoarea în baza de date, ci va fi Clasa artistmanagementDao. Deja avem valori stocate în atribute și vom vedea în clasa de zi cum să împingem asta în baza de date.

6. În sfârșit, am folosit obiectul „am” din ArtistManagementDao pentru a trece acest obiect „a” la metoda addArtist () a clasei java ArtistManagementDao.

7. De asemenea, ne-am obișnuit să încercăm să prindem blocuri pentru a prinde orice excepție și a arunca la fel.

ArtistManagementDao Explicație:

1. Clasa Dao ne ajută să izolăm stratul de aplicație / business de stratul de persistență. Aceasta este de obicei baza de date relațională.

2. Am creat pentru prima dată URL-ul DB care ar trebui să aibă numele computerului dvs., precum și numărul de port DB (ideal 1521), precedat de JDBC: oracle: thin: @. Apoi am creat nume de utilizator și parolă pentru a trece aceste atribute în timpul conectării la Baza de date. Este foarte recomandat să criptați aceste valori în mediul de producție.

3. În cadrul metodei addArtist, am încercat să stabilim conexiunea noastră urmând pașii pe care i-am învățat anterior folosind o instrucțiune conn.

4. Acum, am folosit metoda de introducere pentru a împinge valori de la atribute la baza de date.

5. În următoarea declarație, pentru a testa, avem instrucțiunea get pentru a prelua valori din baza de date.

6. De asemenea, ne-am obișnuit să încercăm să prindem blocuri pentru a prinde orice excepție și a arunca la fel.

Articole recomandate

Acesta a fost un ghid despre cum să conectați baza de date în Java. Aici am discutat Cum să conectăm baza de date în Java împreună cu interfețele și clasele utilizate pentru a conecta o bază de date. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -

  1. Ce este SQL Server?
  2. Big Data este o bază de date?
  3. Cum funcționează JavaScript
  4. Întrebări cu interviuri multithreading în Java