Како повезати базу података у Јави?
Док пишете ИТ апликацију користећи било који програмски језик, проток података од и до апликације служи основној функцији. Ако на проток података на неки начин утиче, то може негативно утицати на функционалност апликације и може узроковати велики губитак за посао.
Данас су на располагању различите методе за повезивање вашег програма са базом података како би се корисницима пружио информације које они траже, да прикупљају информације од корисника, бришу податке како корисник захтева и да ажурирају податке у базу података свакодневно.
Размотрићемо један такав приступ користећи Јава као наш програмски језик, ЈДБЦ као метод повезивања базе података и следимо објектно оријентисани приступ.
Шта је ЈДБЦ?
ЈДБЦ представља Јава Датабасе Цоннецтивити и помаже Јава програму да обавља различите врсте операција над базом података као што су креирање, читање, ажурирање и брисање. Такође, ЈДБЦ је Јава АПИ.
Коришћењем ЈДБЦ програмер треба да буде у могућности да:
- Успоставите везу са Датабасе-ом
- Покрените СКЛ наредбе шаљући их на Датабасе
- Тумачи резултате који долазе из базе података
Креирање базе података за повезивање базе података у Јави
Пре рада са ЈДБЦ-ом, потребно је имати базу података да бисте се повезали с њом. Користит ћемо базу података Орацле због наше илустрације. Преузмите орацле 11г екпресс едитион са доње везе.
хттпс://ввв.орацле.цом/тецхнетворк/продуцтс/екпресс-едитион/овервиев/индек-100989.хтмл
Већ имам спремног програма за инсталирање Орацле 10г, као што видите ниже:
Извор : Са моје радне површине
- Двапут кликните инсталацију, испод ће се појавити екран. Кликните на следећи.
Извор : Са моје радне површине
- Прихватите лиценцни уговор и кликните на следећи.
Извор : Са моје радне површине
- Молимо вас да задржите подразумевана подешавања и кликните на следеће.
Извор : Са моје радне површине
- Затражит ће лозинку која ће бити потребна кад се пријавите у инстанцу Орацле 11г. Унесите лозинку и кликните на следећи.
Извор : Са моје радне површине
- Након што унесете лозинку, започет ће се поступак инсталације. Када се инсталација заврши, на екрану радне површине створиће се икона пречице. Ако га не можете пронаћи, идите на Виндовс старт и потражите Орацле, требало би да га набавите. Кликните на њу и отвориће вам танки клијент путем прегледача. Пријавите се у инстанцу. Имајте у виду да ће корисничко име бити исто за Орацле ДБ, односно систем. Лозинка ће бити она коју сте навели током конфигурирања базе података.
Извор: Са моје радне површине
- Сада када се пријавите, први екран који ћете видети ће изгледати у наставку:
Извор: Са моје радне површине
- Сада направимо таблицу. Молимо кликните на СКЛ модул са горњег екрана и покрените доњи упит.
Извор: Са моје радне површине
- Као што видите, успешно смо направили табелу са именом Едуцба.
Повежите базу података на Јави
Постоји неколико интерфејса и класа који се користе за повезивање с базом података и обављање операција помоћу ЈДБЦ АПИ-ја.
Објаснићемо један по један, али дозволите ми да вам прво представим следећи програм:
Извор: Са моје радне површине
Испод су интерфејси које ћемо користити за повезивање са Датабасе и извођење операција над њим:
- Дривер Манагер
- Веза
- Изјава
- Скуп резултата
- Припремљена изјава
Погледајмо операције које можемо извести као део ЈДБЦ операције.
- Чувајте податке ентитета у бази података, тј. Операцији креирања
- Преузмите податке ентитету или граху из базе података
- Ажурирајте податке за ентитет или грах у бази података
- Избришите или уклоните податке из ентитета или граха из базе података.
Без обзира коју операцију изводимо, постоје неки основни кораци који би остали исти:
1. Учитајте управљачки програм.
Class. forName ("oracle.jdbc.driver.OracleDriver");
2. Креирајте низ УРЛ-ова
String url="jdbc:oracle:thin:@172:.26.132.40:1521:orclilp";
3. Користите управљачки програм за погон како бисте створили везу
con=DriverManager.getConnection(URL, USERNAME, PASSWORD);
4. Користите референцу за везу да бисте креирали изјаву
stmt = conn.createStatement();
5. Користите изјаву за извршење упита
6. Обрадите скуп резултата (необавезно, зависи)
7. Ослобађање ресурса коначно блокирајте.
Илустрација
Како у нашој илустрацији користимо базу података Орацле, морамо имати потребан управљачки програм који би требало да обезбеди Орацле. Класа управљачких програма обично је у облику јар датотеке са именом ојдбц14.јар. Овај драјвер требало би да буде увежен у ваш јава програм у оквиру „Референцед Либрариес” ако га нема.
Ако сте инсталирали Орацле 11г у своју Ц мапу, идеално га је пронаћи на следећој путањи: (Ако га нема, лако га можете преузети одатле)
Ц: \ орацлеке \ апп \ орацле \ продуцт \ 10.2.0 \ сервер \ јдбц \ либ
Извор: Са моје радне површине
Много датотека са јарима требало би бити доступно, али ојдбц14.јар је најновији. Исто се може користити у наше сврхе. Овај стакленку треба додати класичном путу пројекта. Молимо погледајте ниже слику.
Извор: Са моје радне површине
Креирајмо табелу извођача са следећим атрибутима: (Можете директно покренути СКЛ наредбену линију која долази као посебан модул издања Орацле Екпресс. Али прво се требате повезати и извршити наредбу „цоннецт“ како бисте се повезали са базе података.
Извор: Са моје радне површине
Као део ове илустрације направили бисмо три јава класе, односно Артист.јава, ЦреатеТабле.јава и АртистМанагементДао.јава да бисмо то постигли.
Такође у јава слоју морамо створити класу која се зове Артист беан. Ова класа треба да има атрибуте Извођача са горе наведеним контекстом. Изгледаће доле:
Артист.јава
Направимо још 2 јава класе с именом АртистМанагементДао и ЦреатеТабле.јава
АртистМанагементДао.јава
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);
)
)
)
ЦреатеТабле.јава
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();
)
)
)
)
ЦреатеТабле.јава Објашњење:
1. Прво смо креирали ДБ УРЛ који би требало да садржи име вашег рачунара, као и број ДБ порта (у идеалном случају 1521), а претходио му је ЈДБЦ: орацле: тхин: @. Тада смо креирали корисничко име и лозинку како бисмо проследили ове атрибуте за време везе са Датабасе-ом. Препоручује се шифровање ових вредности у производном окружењу.
2. У класи ЦреатеТабле.јава створили смо објекте „ам“ и „а“ класе АртистМанагементДао.јава и Артист.јава респективно.
3. Затим смо покушали успоставити нашу везу пратећи кораке које смо раније научили користећи цонн изјаву.
4. Затим смо направили табелу са именом Артист3 и ажурирали базу података или је гурнули у базу помоћу Екецуте изјаве.
5. Сада ако желимо доделити вредности атрибутима, искористићемо објект који смо креирали за класу извођача и направити белешку, а не ова класа ће вредност унети у базу података, већ ће бити АртистманагементДао класа. Од сад већ имамо сачуване вредности у атрибутима и видећемо у дневној класи како да то потиснемо у базу података.
6. Коначно, користили смо објект „ам“ из АртистМанагементДао да бисмо овај објект „а“ проследили методи аддАртист () класе АртистМанагементДао јава.
7. Такође смо користили блок за хватање изузетака и избацивање истих.
АртистМанагементДао Објашњење:
1. Дао класа нам помаже да изолирамо апликативни / пословни слој од постојаног слоја. То је обично релациона база података.
2. Прво смо креирали ДБ УРЛ који би требало да садржи име вашег рачунара, као и број ДБ порта (у идеалном случају 1521), а претходио му је ЈДБЦ: орацле: тхин: @. Тада смо креирали корисничко име и лозинку како бисмо проследили ове атрибуте за време везе са Датабасе-ом. Препоручује се шифровање ових вредности у производном окружењу.
3. Унутар методе аддАртист, покушали смо успоставити нашу везу пратећи кораке које смо раније научили користећи цонн изјаву.
4. Сада смо користили метод уметања да бисмо потиснули вредности из атрибута у базу података.
5. У следећој изјави, за тестирање, имамо изјаву гет за преузимање вредности из базе података.
6. Такође смо користили блок за хватање изузетака и избацивање истих.
Препоручени чланци
Ово је водич за повезивање базе података у Јава. Овдје смо разговарали о томе како повезати базу података у Јава, заједно с интерфејсима и класама који се користе за повезивање базе података. Такође можете погледати следеће чланке да бисте сазнали више -
- Шта је СКЛ Сервер?
- Да ли је Биг Дата база података?
- Како функционише ЈаваСцрипт
- Мултитхреадинг Интервју Питања на Јави