Kuidas Java andmebaasi ühendada?
IT-rakenduse mis tahes programmeerimiskeelt kirjutades teenib andmevoog rakendusest ja rakendusse põhifunktsioone. Kui andmevoogu mingil moel mõjutatakse, võib see rakenduse funktsionaalsust kahjustada ja võib ettevõttele suurt kahju põhjustada.
Programmi ühendamiseks andmebaasiga on tänapäeval saadaval erinevaid meetodeid, et pakkuda kasutajatele teavet, mida nad soovivad, koguda kasutajatelt teavet, kustutada teavet vastavalt kasutaja nõudmistele ning värskendada andmebaasi andmeid ka iga päev.
Uurime ühte sellist lähenemist, kasutades oma programmeerimiskeelena Java, andmebaasi ühenduvuse meetodina JDBC ja järgides objektorienteeritud lähenemist.
Mis on JDBC?
JDBC tähistab Java Database Connectivity ja see aitab Java programmil andmebaasi kaudu teha mitmesuguseid toiminguid, näiteks luua, lugeda, värskendada ja kustutada. Samuti on JDBC Java API.
JDBC abil peaks programmeerija suutma:
- Looge ühendus andmebaasiga
- Käivitage SQL-käsud, saates selle andmebaasi
- Tõlgendab andmebaasist pärit tulemusi
Andmebaasi loomine Java andmebaasi ühendamiseks
Enne JDBC-ga töötamist on selle loomiseks vajalik andmebaas. Kasutame oma illustratsiooni huvides Oracle'i andmebaasi. Palun laadige allolevast lingist alla Oracle 11g ekspressväljaanne.
https://www.oracle.com/technetwork/products/express-edition/overview/index-100989.html
Mul on juba Oracle 10g installer valmis, nagu näete allpool:
Allikas : minu töölaualt
- Tehke topeltklõps installijal, allpool ilmub ekraan. Klõpsake nuppu Järgmine.
Allikas : minu töölaualt
- Nõustuge litsentsilepinguga ja klõpsake järgmisel.
Allikas : minu töölaualt
- Hoidke vaikesätted endistena ja klõpsake nuppu Järgmine.
Allikas : minu töölaualt
- See küsib parooli, mis on vajalik Oracle 11g eksemplari sisse logimisel. Palun sisestage parool ja klõpsake järgmisel.
Allikas : minu töölaualt
- Pärast parooli sisestamist algab installiprotsess. Kui installimine on lõppenud, luuakse töölauaekraanile otseteeikoon. Kui te ei leia seda, minge Windowsi starti ja otsige Oracle'i, peaksite selle hankima. Klõpsake seda ja see avab brauseri kaudu teie jaoks õhuke kliendi. Logige eksemplari sisse. Pange tähele, et kasutajanimi on sama Oracle DB, st süsteemi jaoks. Parool on see, mille andsite andmebaasi konfigureerimisel.
Allikas: Minu desktop
- Kui olete sisse loginud, näeb kõige esimene ekraan, mida te näete, järgmine:
Allikas: minu töölaualt
- Nüüd loome tabeli. Klõpsake ülaltoodud ekraanil SQL-moodulil ja käivitage järgmine päring.
Allikas: minu töölaualt
- Nagu näete, oleme edukalt loonud tabeli nimega Educba.
Ühenda Java andmebaas
Andmebaasiga ühenduse loomiseks ja JDBC API abil toimingute tegemiseks kasutatakse vähe liideseid ja klasse.
Selgitame ükshaaval, kuid lubage mul kõigepealt tutvustada teile järgmist programmi:
Allikas: minu töölaualt
Allpool on liidesed, mida kasutame andmebaasiga ühenduse loomiseks ja selle kaudu toimingute tegemiseks:
- Juhihaldur
- Ühendus
- Avaldus
- Tulemus seatud
- Koostatud avaldus
Vaadakem operatsioone, mida saame teha JDBC operatsiooni osana.
- Salvestage üksuse andmed andmebaasi, st loomise toiminguga
- Andmete hankimine andmebaasist üksuse või oa kohta
- Uuendage andmebaasis olemi või oa andmeid
- Kustutage või eemaldage andmebaasist üksuse või oa andmed.
Ükskõik, millist toimingut me teostame, on mõned põhietapid, mis jäävad samaks:
1. Laadige juht.
Class. forName ("oracle.jdbc.driver.OracleDriver");
2. Looge URL-i string
String url="jdbc:oracle:thin:@172:.26.132.40:1521:orclilp";
3. Kasutage ühenduse loomiseks draiverihaldurit
con=DriverManager.getConnection(URL, USERNAME, PASSWORD);
4. Kasutage avalduse loomiseks ühenduse viidet
stmt = conn.createStatement();
5. Kasutage päringu täitmiseks avaldust
6. Töödelge tulemuste komplekt (valikuline, sõltub)
7. Vabastage ressursid lõpuks blokeerides.
Illustratsioon
Kuna kasutame oma illustratsioonis Oracle'i andmebaasi, peab meil olema vajalik draiver, mille peaks andma Oracle. Draiveriklass on tavaliselt jar-faili kujul nimega ojdbc14.jar. See draiver tuleks importida teie Java-programmi osana “Viidatud teegid”, kui seda seal pole.
Kui olete oma C-kausta installinud Oracle 11g, võib selle ideaaljuhul leida järgmiselt teelt: (Kui seda seal pole, saab selle siit hõlpsasti alla laadida)
C: \ oraclexe \ app \ oracle \ product \ 10.2.0 \ server \ jdbc \ lib
Allikas: minu töölaualt
Saadaval peaks olema palju jar-faile, kuid ojdbc14.jar on viimane. Sama saab kasutada ka meie eesmärkidel. See purk tuleks lisada projekti klassiteele. Kontrollige allolevat pilti.
Allikas: minu töölaualt
Luuame järgmiste atribuutidega artistide tabeli: (Saate otse käivitada SQL-i käsurida, mis tuleb Oracle Expressi väljaande eraldi moodulina. Kuid kõigepealt peate looma ühenduse ja täitma käsu „Ühenda“, et ühenduse luua andmebaas.
Allikas: Minu desktop
Selle illustratsiooni osana loome selle saavutamiseks kolm java-klassi, st Artist.java, CreateTable.java ja ArtistManagementDao.java.
Ka java kihis peame looma klassi Artist bean. Sellel klassil peaksid olema ülaltoodud kontekstiga kunstniku atribuudid. See näeb välja järgmine:
Kunstnik.java
Loome veel 2 java-klassi, mille nimi on ArtistManagementDao ja 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 seletus:
1. Oleme kõigepealt loonud DB URL, millel peaks olema nii teie arvuti nimi kui ka DB pordi number (ideaaljuhul 1521), millele eelneb JDBC: oracle: õhuke: @. Seejärel oleme loonud kasutajanime ja parooli, et neid atribuute andmebaasi ühenduse ajal edastada. On äärmiselt soovitatav krüpteerida need väärtused tootmiskeskkonnas.
2. Klassis CreateTable.java oleme loonud vastavalt klassi ArtistManagementDao.java ja “Artist.java” objekti “am” ja “a”.
3. Seejärel proovisime oma ühenduse luua, järgides varem õpitud samme, kasutades conn-avaldust.
4. Seejärel oleme loonud tabeli nimega Artist3 ja värskendanud andmebaasi või viinud selle andmebaasi andmebaasi, kasutades avaldust.
5. Kui me sooviksime atribuutidele väärtusi määrata, siis kasutame objekti, mille oleme kunstnikuklassi jaoks loonud, ja teeme märkuse, mitte see klass ei sisesta väärtust andmebaasi, vaid see saab olema ArtistmanagementDao klass. Oleme juba atribuutides väärtusi salvestanud ja näeme päevaklassis, kuidas see andmebaasi sisestada.
6. Lõpuks oleme kasutanud ArtistManagementDao objekti “am”, et anda see objekt “a” java klassi ArtistManagementDao meetodile addArtist ().
7. Oleme ka varem püüdnud blokeerida, et tabada erandeid ja välja visata.
ArtistManagementDao Selgitus:
1. Dao klass aitab meil rakenduse / äri kihti püsivuskihist eraldada. See on tavaliselt relatsiooniandmebaas.
2. Oleme kõigepealt loonud DB URL, millel peaksid olema nii teie arvuti nimi kui ka DB pordi number (ideaaljuhul 1521), millele eelneb JDBC: oracle: õhuke: @. Seejärel oleme loonud kasutajanime ja parooli, et neid atribuute andmebaasi ühenduse ajal edastada. On äärmiselt soovitatav krüpteerida need väärtused tootmiskeskkonnas.
3. Me proovisime addArtisti meetodis luua oma ühenduse, järgides varem õpitud samme, kasutades conn-avaldust.
4. Nüüd oleme sisestusmeetodi abil atribuutidelt väärtusi andmebaasi viinud.
5. Järgmises avalduses on testimiseks meil käsk get, et saada andmebaasist väärtusi.
6. Oleme ka varem püüdnud blokeerida, et tabada erandeid ja välja visata.
Soovitatavad artiklid
See on olnud java andmebaasi ühendamise juhend. Siin on arutatud, kuidas ühendada andmebaasi javas koos liideste ja klassidega, mida kasutatakse andmebaasi ühendamiseks. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -
- Mis on SQL Server?
- Kas suurandmed on andmebaas?
- Kuidas JavaScript töötab?
- Mitme lõimega intervjuuküsimused Java-s