Рад са базама података у Јави

Преглед садржаја
Јава Као вишенамјенски језик, осим различитих функционалности које можемо постићи, омогућава нам и рад уз постојаност података, јер за то можемо успоставити везу са различитим машинама Базе података који постоје на тржишту.
А. База података То може бити нешто тако једноставно као систем кључ-вредност у датотеци са обичним текстом, као и сложенија и модернија решења, попут оних која нису повезана са другима, што чини могућност развијања различитих шема повезивања обавезном особином.
ЈДБЦ су скуп класа које дозвољавају Јава успоставити везе са базама података, то нам омогућава да добијемо резултате упита у објекту који се зове РесултСет.
Пошто је сваки мотор различит, вероватно је да је РесултСет оно што примамо је посебно за њега, зато нам није згодно да своју апликацију структурирамо око наведеног објекта.
Да бисмо решили овај проблем, можемо користити оно што се назива а објекат приступа, помоћу којих можемо управљати различитим облицима нашег РесултСет олакшавајући имплементацију ваше апликације у оквиру нашег програма, па програмер има мање проблема.
Шема дизајна ДАОТхе Објекат за приступ подацима или ДАО То је шаблон дизајна који прикупља оно што смо објашњавали у претходној тачки. То захтева да створимо класу приступа својствима нашег База података. Да би ово функционисало, морамо направити цео посао ЈДБЦ и контролер који нам омогућава повезивање са одређеним механизмом који желимо, додатно морамо извршити логичку имплементацију коју објашњавамо како бисмо избегли зависност од одређених компоненти које би нам само отежале прелазак на други механизам базе података.
Прво што морамо да урадимо да бисмо изградили везу ЈДБЦ је да идентификујемо који је мотор са којим желимо да успоставимо везу, а затим добијемо потребне класе за поменуту везу, у овом случају ћемо успоставити везу МиСКЛ, овај мотор је лаган, бесплатан и на више платформи, па га можемо инсталирати у Виндовс, Линук или Мац.
Конектор / Ј је скуп часова које нуди развојни тим МиСКЛ, са њима можемо да направимо ЈДБЦ радити заједно са овим Базе података релацијски, да бисмо га укључили у наш пројекат морамо слиједити сљедеће кораке.
1- Морамо преузети и датотеку која одговара нашој платформи Виндовс или за друге са званичне веб странице МиСКЛ На следећем линку.

ЕНЛАРГЕ

2- У овом водичу ћемо радити под оперативним системом Виндовс, па ћемо за његову примену у нашим примерима то учинити ради лакшег извођења, међутим, када преузмемо пакет, инсталирамо га да би био доступан на нашем рачунару.
3- Сада ћемо наставити да тестирамо да ли све исправно ради на нашем рачунару, за ово ћемо направити мали код у коме ћемо видети да ли конектор / Ј је успешно учитан у наш систем, за то ћемо користити следећи код:
 јавна класа ЦоннецтионТест {публиц статиц воид маин (Стринг [] аргс) {три {Цласс ц = Цласс.форНаме ("цом.мискл.јдбц.Дривер"); Систем.оут.принтлн ("Учитана класа:" + ц.гетНаме ()); } цатцх (ЦлассНотФоундЕкцептион ек) {Систем.ерр.принтлн (ек); }}} 

4- Да бисмо покренули овај пример, морамо да укључимо зависност, препоручује се да имамо .јар на истој путањи наше датотеке ТестЦонекион.јава. Са овим ћемо прећи на састављање наше датотеке, отворили смо конзолу и са упутствима јавац и додавањем .јар до цласспатх за време извођења са командом -цп Можемо то да урадимо, да видимо командну линију:
 јавац -цп мискл-цоннецтор-јава-5.1.34-бин.јар ЦоннецтионТест.јава 

5- Коначно, да бисмо извршили нашу датотеку, потребно је само да извршимо следеће упутство:
јава -цп мискл-цоннецтор-јава-5.1.34-бин.јар ТестЦоннецтион

Ако у конзоли имамо резултат попут следећег, можемо почети да радимо са операцијама до Базе података:

ЕНЛАРГЕ

Следећи корак који морамо да предузмемо је успостављање ефикасне везе са нашим База података, за ово морамо створити једну са барем једном табелом на нашем локалном серверу, на овај начин можемо извести неке тестове, како бисмо олакшали ствари стварамо базу података тзв. тест и користимо следећу скрипту за креирање табеле и уметање неких записа о тестирању, ово за убрзање развоја водича:

НАПРАВИ ТАБЕЛУ АКО НЕ ПОСТОЈИ `корисници` (
`ид` бигинт (20) НИЈЕ НУЛЛ АУТО_ИНЦРЕМЕНТ,
`наме` варцхар (255) НИЈЕ НУЛЛ,
датум „датум“ НИЈЕ НУЛЛ,
`стате` инт (11) НИЈЕ НУЛЛ,
ПРИМАРНИ КЉУЧ (`ид`)
) ЕНГИНЕ = ИнноДБ ДЕФАУЛТ ЦХАРСЕТ = латин1 АУТО_ИНЦРЕМЕНТ = 3;
ИНСЕРТ ИНТО `усерс` (` ид`, `наме`,` дате`, `статус`) ВРЕДНОСТИ
(1, „Корисник 1“, „2015-01-01“, 1),
(2, „Корисник 2“, „2015-01-01“, 1);

Сада у следећем коду Јава фокусираћемо се на успостављање везе са База података, за ово са а пробајте цатцх блоцк Потврдићемо да је ефикасан и без грешака, а ако је веза успостављена, одштампаћемо поруку о успеху, да видимо:
 импорт јава.скл.Цоннецтион; импорт јава.скл.ДриверМанагер; јавна класа ЦоннецтионТест {привате статиц финал Стринг патх = "јдбц: мискл: // лоцалхост"; привате статиц финал Стринг усер = "наш корисник"; привате статиц финал Стринг пассворд = "наша лозинка"; публиц статиц воид маин (Стринг [] аргс) {три {Цоннецтион цон = ДриверМанагер.гетЦоннецтион (путања, корисник, лозинка); Систем.оут.принтлн ("Веза успешна"); } цатцх (Изузетак е) {е.принтСтацкТраце (); }}} 

Из овог кода можемо видети да морамо увести две библиотеке из пакета јава.скл, један је Цоннецтион која је задужена за управљање свим активностима ради комуникације са Базом података а друга је Менаџер уређаја која је одговорна за обезбеђивање начина на који ћемо са њом комуницирати. Ако смо правилно пратили кораке, требали бисмо видети следећу поруку када покренемо наш пример у конзоли:

ЕНЛАРГЕ

Имамо све спремно за почетак тестирања наших упита, за то ће нам требати неколико ствари, прво што већ имамо је објект који успоставља везу са База података, тада ћемо морати да увеземо пакете Изјава И РесултСет помоћу којих прво можемо послати упите, а затим добити одговор на исти, на крају пролазимо кроз објекат РесултСет где ћемо приказати податке уметнуте у табелу и пре затварања програма морамо затворити сваки од објеката које смо креирали, на овај начин ћемо гарантовати интегритет наших података. Погледајмо код који показује шта је објашњено:
 импорт јава.скл.Цоннецтион; импорт јава.скл.ДриверМанагер; импорт јава.скл.РесултСет; импорт јава.скл.Статемент; јавна класа ЦоннецтионТест {привате статиц финал Стринг патх = "јдбц: мискл: // лоцалхост / тест"; привате статиц финал Стринг усер = "наш корисник"; привате статиц финал Стринг пассворд = "наша лозинка"; публиц статиц воид маин (Стринг [] аргс) {три {Цоннецтион цон = ДриверМанагер.гетЦоннецтион (путања, корисник, лозинка); Упит за исказ = цон.цреатеСтатемент (); Систем.оут.принтлн ("Веза успешна"); РесултСет ресулт = куери.екецутеКуери ("СЕЛЕЦТ * ФРОМ усерс"); вхиле (ресулт.нект ()) {Име низа = резултат.гетСтринг ("име"); Стринг дате = ресулт.гетСтринг ("датум"); Систем.оут.принтлн ("Име:" + име + "Датум записа:" + датум); } ресулт.цлосе (); куери.цлосе (); цон.цлосе (); } цатцх (Изузетак е) {е.принтСтацкТраце (); }}} 

То је важно напоменути у нашем атрибуту рута Изменили смо га и назив База података позив тест где морамо да направимо нашу корисничку табелу, компајлирамо датотеку и извршимо је, резултат по конзоли био би као што се види на следећој слици:

ЕНЛАРГЕ

Посматрајући пример повезивања и упита према бази података, можемо видети да морамо да користимо бројку тзв. Припремите изјаву што нам олакшава рад остављајући упите припремљене тако да их можемо више пута извршавати без потребе да их изнова градимо, да бисмо постигли ову динамику, замењујемо вредности које морамо променити променљивим, а затим када извршимо упит му преносимо стварне вредности.користити.
ПредностОво има неколико предности, већ смо рекли да је прва могућност да се нешто користи без понављања, али то је и због безбедности, јер нам то омогућава да третирамо вредности које вероватно долазе од уноса корисника како бисмо избегли напад на наш База података, осим што можемо олакшати читљивост нашег програма.
У следећем примеру ћемо креирати упит са Припремљена изјава, тако да се може користити више пута током нашег програма. Погледајмо резултирајући код:
 импорт јава.скл.Цоннецтион; импорт јава.скл.ДриверМанагер; импорт јава.скл.РесултСет; импорт јава.скл.ПрепаредСтатемент; јавна класа ПрепаредСтатементТест {привате статиц финал Стринг патх = "јдбц: мискл: // лоцалхост / тест"; привате статиц финал Стринг усер = "наш корисник"; привате статиц финал Стринг пассворд = "наша лозинка"; публиц статиц воид маин (Стринг [] аргс) {три {Цоннецтион цон = ДриверМанагер.гетЦоннецтион (путања, корисник, лозинка); ПрепаредСтатемент куери = цон.препареСтатемент ("СЕЛЕЦТ * ФРОМ усерс Вхере ид = ?;"); Систем.оут.принтлн ("Веза је успешна"); куери.сетИнт (1, 1); РесултСет ресулт = куери.екецутеКуери (); вхиле (ресулт.нект ()) {Име низа = резултат.гетСтринг ("име"); Стринг дате = ресулт.гетСтринг ("датум"); Систем.оут.принтлн ("Име:" + име + "Датум записа:" + датум); } ресулт.цлосе (); куери.цлосе (); цон.цлосе (); } цатцх (Изузетак е) {е.принтСтацкТраце (); }}} 

Примећујемо да коришћењем методе сетИнт Објектом упита можемо проследити неопходни параметар за упит, чиме га можемо одвојити од извршења упита, чиме добијамо преносивост и лакоћу читања. За крај састављамо и покрећемо наш програм:

ЕНЛАРГЕ

Овим завршавамо овај водич, јер видимо опције за рад Базе података у Јава Врло су занимљиви јер нам омогућавају да у своје апликације укључимо флексибилност и свестраност, најважније је да ће се, ако имамо искуства с другим језицима, сигурно користити овдје.

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave