darba uzsākšana - web viewpašam sākumam java klasē tiek definēta main metode,...

43
1 Saturs Darba uzsākšana.................................................. 3 1. Nelielas Java klases programmas definēšana, kompilēšana un izpilde.......................................................... 4 1.piemērs:................................................... 4 2.piemērs:................................................... 5 2. Java klases programmas definēšana un ielāde datu bāzes sistēmā (programmas loadjava un komandas create Java izmantošana) . Java klases metodes izsaucošo PL/SQL funkciju izveide un izpilde. Java klašu metadatu apskate datu bāzes vārdnīcā.......................6 1.loadjava:.................................................. 6 2.createjava:...............................................10 3. Datu bāzes interfeiss Java Database Connectivity (JDBC), tā izmantošanas pamatprincipi......................................12 4. Java klases metožu izmantošanas SQL komandu realizēšanai.. . . .14 5. Java klases programmu uzrakstīšana datu ievadei tabulā un datu izgūšanai no tabulas. Java klases datu ievades un izgūšanas metožu izsaukšana...................................................... 24 5.1 Struktūras..............................................24 5.2 Trīģeris................................................31 6.Secinājumi.................................................... 34

Upload: doannhan

Post on 06-Feb-2018

221 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

1

Saturs

Darba uzsākšana...................................................................................................................................31. Nelielas Java klases programmas definēšana, kompilēšana un izpilde............................................4

1.piemērs:....................................................................................................................................42.piemērs:....................................................................................................................................5

2. Java klases programmas definēšana un ielāde datu bāzes sistēmā (programmas loadjava un komandas create Java izmantošana) . Java klases metodes izsaucošo PL/SQL funkciju izveide un izpilde. Java klašu metadatu apskate datu bāzes vārdnīcā....................................................................6

1.loadjava:...................................................................................................................................62.createjava:..............................................................................................................................10

3. Datu bāzes interfeiss Java Database Connectivity (JDBC), tā izmantošanas pamatprincipi.........124. Java klases metožu izmantošanas SQL komandu realizēšanai.......................................................145. Java klases programmu uzrakstīšana datu ievadei tabulā un datu izgūšanai no tabulas. Java klases datu ievades un izgūšanas metožu izsaukšana....................................................................................24

5.1 Struktūras............................................................................................................................245.2 Trīģeris................................................................................................................................31

6.Secinājumi.......................................................................................................................................34

Page 2: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

Darba uzsākšana

Šī darba veikšanai es nolēmu turpināt iepriekšējā darbā uzsākto tematiku – saldumu veikalu tīklu. Es paredzu izmantot vairākkārt tabulas un tipus no iepriekšajiem darbiem, jo, pirmkārt, nevajag tērēt laiku jauna pētīšanas materiāla realizācijai un, otrkārt, man tā ir skaidrāk redzams, - kas kur mainās un kāpēc.

Page 3: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

1. Nelielas Java klases programmas definēšana, kompilēšana un izpilde.

1.piemērs:Java klases definēšanai un kompilēšanai es izmantoju redaktoru TextPad.

Šai klasei nav nekādu lauku (atribūtu), tā satur tikai vienu mein metodi, kas izvada ziņojumu „3. Laboratorijas darba sākums”.

Page 4: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

2.piemērs:

Sākumā klase Saldums tiek definēta redaktorā TextPad ar formātu .java. Tur tiek aprakstīti klases lauki ar primitīviem datu tipiem un konstruktors. Šo konstruktoru varētu nerakstīt, jo tāds pats veidojas pēc noklusējuma, bet labam stilam un izmēģinājumam es to uzrakstīju.

Lai pārbaudītu šīs klases lauku izvadi, es izveidoju tai metodi main, kurā tiek nodoti parametri Saldums objekta veidošanai un tālākajai izvadei.

Page 5: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

2. Java klases programmas definēšana un ielāde datu bāzes sistēmā (programmas loadjava un komandas create Java izmantošana) . Java klases metodes izsaucošo PL/SQL funkciju izveide un izpilde. Java klašu metadatu apskate datu bāzes vārdnīcā.

1.loadjava:

Sākumā TextPad redaktorā es definēju klasi Izvade, kas ir bez atribūtiem un tikai ar vienīgu statisku metodi print, kuru var izsauk neveidojot objektu. Metode print saņem kā parametru masīvu ar String tipa elementiem un ciklā tos izvada.

Tālāk šī klase tiek ielādēta datu bāzē.

Page 6: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju
Page 7: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

Klases metadati:

Pēc klases veiksmīgas ielādes tās metode print tiek ielikta PL/SQL valodas čaulā, kurā tiek nokompilēta jau SqlDeveloper vidē. Tālāk sākas visinteresantākais. Šī metode saņem masīvu no trīm vardiem, bet rezultātā izvada tikai pirmo. Un ko es tikai nedarīju ar šo procedūru. Mēģināju ciklam jau precīzi norādīt 3 kā iterāciju skaitu un nodot 3 vārdus masīvā – vienalga izvada pirmo; mēģināju nodot nevis masīvu, bet atsevišķus vārdus, kurus izvadīju pēc kārtas, nevis ciklā – atkal izvada tikai pirmo. Mainīju-salīdzināju-parbaudīju visus nosaukumus, un tā vienalga izvada tikai pirmo vārdu, pie tā, ka set serveroutput on arī bija iestādīts.

Mani nomierināja tas, ka izvadē ir rakstīts ‘succesful’ – it kā procedūra nostrādā pareizi, arī pārbaudot izveidotus objektus, gan klasei, gan metodei bija ‘valid’ statuss, kas liecināja par to, ka nekādu kļūdu nav. Un es nolēmu, ka varbūt problēma ir kaut kur dziļāk, piemēram, kādos izvades iestādījumos un es sāku meklēt tālāk.

Page 8: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju
Page 9: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

Vēlreiz pārskatot visus materiālus, atradu vienu burvīgu frāzi, kas atrisināja visas manas problēmas:

Page 10: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

2.createjava:

Šī metode ielādēt datu bāzē klasi ne ar ko īpaši neatšķiras, vienīgi tikai ar to, ka klase netiek ielādēta no ārienes, bet tiek definēta tieši SqlDeveloper vidē. Šoreiz es procedūru nomainīju uz funkciju, kas nesaņem nekādus parametrus, bet vienkārši atgriež simbolu virkni ‘Trešais laboratorijas darbs’. Šoreiz viss strādāja pareizi, izvadot to, ko vajag.

Page 11: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

Klases metadati:

Page 12: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

3. Datu bāzes interfeiss Java Database Connectivity (JDBC), tā izmantošanas pamatprincipi.JDBC nodrošina tiltu starp datu bāzi un java kodu. Tas notiek tā, ka Java kodā tiek izsaukta

JDBC bibliotēka, šī bibliotēka ielādē JDBC draiveri, draiveris, savukārt, strādā ar vienu konkrētu datu bāzi.

Lai sāktu strādāt JDBC - datu bāze režīmā, ir jāuztaisa savienojums un jāsāk tranzakcija (instrukciju sēcība). Tālāk ir nodefinēti dažāda veida vaicājumu objekti, kuriem piesista SQL vaicājumu. Kad vaicājumu objekti ir izpildīti un rezultāti irgūti, savienojums tiek aizvētrs.

Pašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju.

Page 13: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

Tālākajai pārbaudei tiek izsaukti Java klases, izejas kodi; un vienkārši datu bāzē glabājamās funkcijas un procedūras.

Page 14: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

4. Java klases metožu izmantošanas SQL komandu realizēšanai.

Sākumā es nolēmu izmēģināt visvienkāršāku komandu realizēšanu: select un insert.

Lai sarežģītu dzīvi, es nolēmu izmantot šiem nolūkiem iepriekšējā darbā izveidotu objekta tipu, kurā iekšā ir cita objekta tipa atribūts. Tātad, strādāšu ar objektu objektā.

Darbību sēcība bija tāda, ka sākumā es veidoju klasi, pēctām paketi ar procedūrām, pēctām paketes ķermeni, pēctām pārbaudīju procedūru darbību. Bet šeit es demonstrēšu procedūru izsaukumus pēc to aprakstu klasē.

Page 15: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

Es nodefinēju java klasi Saldums, kurā aprakstīju procedūras ar sql komandām. Klase man sanāca diezgan gara, līdz ar to es viņu komentēšu pa gabaliem.

Sākumā ir static metode saldIns, kura saņem pievienojama objekta parametrus un ieliec objektu tabulā. Bija ļoti svārīgi vaicājuma iekšā ielikt tipus, jo es taču strādāju nevis ar parastu relāciju tabulu, bet pievienoju objektu ar vēl vienu objektu iekšā. Ļoti žēl, ka es nekā neizdomāju – kā var pielietot konstruktorus uzreiz vienā un tā pašā vaicājumā. (Tipam SASTAVS ir vairāki konstruktori, kas ļauj ievādīt dažādu sastāva komponentu skaitu). Taču vaicājums man tur ir ar parametriem, un nekā nevar norādīt neprecīzu ienakošo parametru skaitu. Viena doma man bija – izmantot pārlādēšanu (overloading).

Bija tā, ka produktiem ir piecas pamatkomponentes, divas no tām visiem ir vienādas un tiek norādītas konstruktorā – pirmā ir „ūdens”, otrā ir „cukurs”, trešai jābūt obligāti, jo no cukura un ūdens nekas nesanāks, ceturtā un piektā nav obligātas.

Šeit var ielādēt saldumu ar trīm papildkomponentēm.

Page 16: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

Šeit – ar divām

Un šeit ar vienu:

Page 17: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

Ievade notika veiksmīgi:

Nākamā metode klasē Saldums ir Izvade. Es to nerakstīju pati, bet paņēmu copy-paste no lekciju materiāliem. Šī metode netiks pielietota tieši, viņa strādā kā palīgs vaicājuma rezultātu izvadei un tiks pielietota nākamās procedūrās.

Page 18: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

Nākošas ir divas Select procedūras. Tās pēc loģikas ir identiskas. Pirmā ir ar parametru – tā saņem salduma identifikācijas numuru in izvada par to informāciju, bet otra vienkārši izvada visus saldumus, un tai nekādu parametru nav. Šīm procedūrām ir vienādi nosaukumi, bet dažādi parametri, tās ir pārlādētas (overload).

Page 19: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

Šeit nostrādā pirmā procedūra, kas izvada informāciju par tikko pievienotiem objektiem(999, 888), un var pārliecināties, ka tie tiešām iekļūva tabulā, gan par citu objektu no tabulas(12), kas ļauj pārliecināties, ka procedūra veiksmīgi strādā ar tabulu. Diemžēl tur ir daudz kā izvadīt un izvade ir slikti redzama.

Page 20: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

Tālāk tiek izsaukta šī paša procedūra, tikai ar parametru „viss”, kas liec tai izvadīt visu informāciju par visiem tabulā esošiem objektiem. Tur var saskatīt arī tos, kuri nesen bija pievienoti. Jāatzīmē tas, ka konstruktori no iepriekšējā darba nostrādāja veiksmīgi, un trūkstošu sastāva komponenšu vietās ir vārds „nav”. (Šeit, lai izvade būtu vieglāk saskatāma, es neizvadīju tās pirmas divas obligātas komponentes).

Kā veidojās pakete:

Page 21: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

Paketes ķermenis:

Page 22: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

Tā kā parastie vaicājjumi - Statement un vaicājumi ar parametriem – PreparedStatement bija aprakstīti, atliek apscatīt CallStatement tipa vaicājumu. To es nolēmu realizēt tabulai no 1.laboratorijas darba – VEIKALI, kas satur veikala identifikācijas numuru, nosaukumu un adresi. Datu bāzē glabājamā procedūra, kas tiks izsaukta it getNos, kuras ienākošais parametrs ie veikala identifikācijas numurs, bet izejošs – veikala nosaukums. Parastiem vārdiem runājot, šī procedūra argriež veikala nosaukumu pēc tā numura.

Man šķiet, ka Callable tipa vaicājumi ir līdzīgi vaaicājumiem ar parametriem, tikai tur dažu parametru vietā var būt ne tikai mainīgie, bet metodes no datu bāzes. Izsaucot metodi no Java klases, obligāti jāparedz iespējamas kļūdās, tādas kā neeksistējošas metodes izsaukšana vai informācijas pieprasīšana par neeksistējošo veikalu.

Page 23: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

Pēc tām es nodefinēju pašu datu bāzē glabājamo procedūru.Tālāk nāca klāt tāds uzdevums, kuru man sākumā bija pagrūti risināt: bija jāizsauc Java klases metode, kura savukātr izsauc datu bāzē glabājamo metodi. Šīm nolūkam es nolēmu uztaisīt paketi ar tājā glabājamo procedūru, kas iedarbina Java klases procedūru. Brīnums, bet tas viss strādāja.

Page 24: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

5. Java klases programmu uzrakstīšana datu ievadei tabulā un datu izgūšanai no tabulas. Java klases datu ievades un izgūšanas metožu izsaukšana.

5.1 StruktūrasTā kā es sāku strādāt ar tabulu kurā ir izmantoti objektu tipi, es nolēmu tālāk izmantot

struktūras. Struktūra ir vāji tipizēta Java klase pēc noklusējuma, kas ir piemērota Oracle datu bāzes objektam. Tā ļauj ērtāk glabāt Oracle objektus un izmantot to kā objektus Java kodā.

Šīs materiāls man ir jauns, tāpēc es nedaudz vienkaršoju sev uzdevumu: iepriekšējā tabulā man glabājās objekta tipa SALDUMS elementi, kuriem viens no atribūtiem ir ar objekta tipu SASTAVS. Tātad, bija objekts objektā. Bet, lai izmēģinātu struktūru pielietošanu es izveidoju tipu SASTAVS_STRUKT, kuram ir tie paši lauki, kā tipam SASTAVS, bet nav konstruktoru – visi atribūti ir obligāti. Bet tipa SALDUMS vairs nav. Es vienkārši izveidoju tabulu SALDUMI_STRUKT, kurai ir tās pašas kolonnas, ka tipa SALDUMS atribūti. Tātad, tagad man ir tabula ar objekta tipa kolonnu.

Tagad es pa gabaliem aprakstīšu klasi SaldStrukt ar tājā iekļautām procedūrām.

Page 25: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

1. Procedūra saldStruktSelectPirmā procedūra ir saldStruktSelect. Tā saņem kā parametru mainīgo viss, kas nozīmē, ka

jāizvada visa informācija par visiem tabulā SALD_STRUKT esošiem objektiem. Sākumā viss notiek kā parasti: savienojums, vaicājums bez parametriem, rezultāta iegūšana. Pēctām ciklā tiek nolasītas rindas, kuras iekļuva rezultātā. Ar pirmām trīm rindas laukiem viss ir vienkārši – to vērtības ir ierakstītas procedūras lokālos mainīgajos. Bet ceturtā lauka atrodas objekts ar tipu SASTAVS_STRUKT. Šīm objektam tiek izveidota struktūra sastavsStrukt, no kuras tiek izgūti atribūti un atsevišķi ierakstīti procedūras mainīgos. Kad visa informācija no apskatāmās rindas laukiem nonāk procedūras mainīgajos, šie mainīgie tiek izvadīti.

Page 26: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

Nākoša ir tāda paša procedūra, bet tikai viena salduma izvadei. Kā parametru tā saņem vajadzīga salduma identifikācijas numuru un par to izvada informāciju. Loģika ir tā pāti kā iepriekšējai procedūrai, tikai šeit ir vaicājums ar parametru. Manā tabulā salduma ID ir primāra atslēga, bet to zinu tikai es, tāpēc rezultāts arī šeit ir apstrādāts ciklā, neņemot vērā to, ka pēc loģikas rezultātā var būt tikai viena rinda.

Rezultāts:

Page 27: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

2.Procedūra saldStruktUpdate

Nākamā metode ir visinteresantākā. Šī ir saldStruktUpdate procedūra, kas pievieno jaunu rindiņu tabulai. Kā es sapratu, tur notiek tas, ka ar vaicājumu no tabulas paņemti visi ieraksti un ielikti rezultātā, bet rezultāts ir modificējams un tam rezultātam pievieno jaunu rindu, un to visu ieraksta tabulā. Kaut kā tā.

Manā piemērā šī procedūra saņem visus ierakstāmās rindiņas parametrus (sastāva komponentes iedotas atsevišķā veidā kā String tipa mainīgie). Tālāk no piecām ienākošām komponentēm tiek izveidota struktūra objektam ar tipu SASTAVS_STRUKT. Tālāk ienakošo primitīvu datu tipu vērtības tiek ielikti tabulas rindiņā kā pirmie trīs lauki, bet ceturtais lauks ir struktūra.

Page 28: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

Rezultāts:

Tālāk ir pārrakstīta saldStruktUpdate metode, kas kā parametru saņem salduma id un veidu. Ideja ir tāda, ka jānomaina esošais veids uz procedūrai iedoto tam ierakstam, kura id arī ir nodots procedūrai. Šeit viss notiek diezgan vienkārši, bez struktūrām.

Page 29: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

Rezultāts:

3. Procedūra saldStructDelete

Pēdeja procedūra ir saldStructDelete, kas nodzēš rindu ar prsītu salduma id. Šeit arī nav nekas sarežģīts: ar parametrisku vaicājumu tiek iegūts ieraksts ar prasīto id. Ieraksts tiek ierakstīts modificējamā rezultātā un tiek nodzēsts. Dzēšana atkal notiek ciklā, jo teorētiski nav zināms – cik ierakstu iekļūs rezultātā, tikai šajā piemērā ir zināms, ka ierakstam jābūt vienam.

Page 30: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

Rezultāts:

Pakete:

Deklarācija:

Ķermenis:

5

.2 Trīģeris

Page 31: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

Trīģeri ir programmu procedūras, kas izpildās reaģējot uz kaut kādu notikumu. Manā piemērā ir tā, ka tika nolemts paaugstināt svēramo produktu kilograma cenas par 50 centiem. Bet jānovērš gadījums, kad šīs piemaksas vērtība ieņems vairāk par preces iepriekšējās cenas 20 procentiem. Tātad jāizveido trīģeris, kas reaģēs uz nevelām cenas paaugstinājumu ierakstot paaugstinājamo cenu tabulā CENU_AUDIT.

Sākumā jāizveido tabula SVER_PARD_CENAS, kas satur svērama salduma identifikācijas numuru un pārdošanas cenu par kilogramu; un tabula CEN_AUDIT, kurā tiks fiksēti nevēlamie cenas paaugsinājumi. Šajā tabulā ir attiecīgi lauki – salduma numurs, veca cena un jauna. Tālāk tiek izveidota Java klase SaldTrig, kurā arodas procedūra, kas pievieno tabulai CENU_AUDIT vienu rindiņu. Tālāk metode no java klases tiek apvalkota PL/SQL valodas procedūrā.

Java klase:

Tālāk tiek izveidots trīģeris, kas nostrādā, kad cenas pieaugums pārsniedz 20 procentus. Tātad gadījumā, ja nostrādā nosacījums trīģeris aktivizējas un izsauc java klases procedūru, kas

Page 32: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

pievieno tabulai CENU_AUDIT vienu rindiņu.

Page 33: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

Tālāk tiek ajaunoti (UPDATE) visi ieraksti tabulā SVER_PARD_CENAS, paaugstinot cenu par 50 centiem un gadījumi, kuri apmierināja nosacījumu tika ierakstīti tabulā CENU_AUDIT.

Tabula SVER_PARD_CENAS pirms atjaunošanas:

Pēc atjaunošanas:

Tabula CENU_AUDIT:

Page 34: Darba uzsākšana -    Web viewPašam sākumam Java klasē tiek definēta main metode, kurā notiek savienojuma realizēšana un izvadīti dati par JDBC draivera versiju

6.Secinājumi

Darba gaitā es iepazinos praksē ar objektu JBDC bibliotēkas izmantošanu. Pati ideja man ļoti patika: ērti, saprotami u.t.t.

Bet man nepatika daži sīkumu pašā procesā. Galvenais – klašu ielāde. Klašu kodu es rakstīju citā vidē, un klase kompilējās normāli. Kad es sāku klases ielādi datu bāzē, vienmēr vienīgais kļūdas paziņojums bija ORA-06512. Tas nozīmēja, ka klasē kaut kur ir kaut kāda kļūda. Ķļūdas atrašanai es tērēju ļoti daudz laika. Bija tā, ka nezinot kur meklēt es dzēsu no klases dažādus gabalus un pēctām pārbaudūju – vai tā ielādējas. Kļūdas bija sākot ar lieku atstarpi vai divreiz atkartoto vārsu select vaicājumā un beidzot ar to, ka netiek pieņemts vaicājuma pārnesums: („select a.num” + „from table1 a” + „where a.id = 1;”). Tātad, nevar atrast ne tikai kļūdas vietu, bet vispār nevar saprast – vai ir kļūda sintaksē vai loģikā.

Cita lieta, kas man nepatika, ir tāda, ka nevar modificēt klases kodu. Lai kaut ko mainītu, jādzēš veca klase, jāielādē jauna un pēc tām vēl jāparkompilē visas paketes.

Veicot darbu es negribēju vienkārši mainīt mainīgo nosaukumus no piemēriem uz saviem. Es mēģināju izdomāt kaut ko nedaudz sarežģitāku uz tā pamata, kas ir dots. Gribu uzsvert, ka ļoti palīdz iedotie piemēri ar kodu un paskaidrojumiem. Un šoreiz ļoti labi strādāja serveris.