









Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u
Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan
Pripremite ispite
Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u
Nabavite poene za preuzimanje
Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan
Objektno orjentisano programiranje
Tipologija: Skripte
1 / 15
Ova stranica nije vidljiva u pregledu
Ne propustite važne delove!










Test 1
- u dodajemo na sljedeći način:
objekat izuzetka (exception object ) i on sadrži informacije o samoj greški, koje obuhvataju tip greške i stanje programa u trenutku kada se greška dogodila.
izuzetka ( throwing an exception).
pokušava da pronađe dio koda koji će izvršiti obradu nastalog izuzetka.
hvatanje.
Ukoliko se niti u jednoj metodi ne pronađe kod za obradu nastalog izuzetka, izuzetak završava u virtuelnoj mašini.
Obrada izuzetaka
-catch.
public static void main(String[] args) {
int brojevi[] = new int[4];
try
{
brojevi[7] = 10;
}
catch (Exception exc)
{
System.out.println("Index izvan okvira!");
}
}
Index izvan okvira!
predstavlja blok u kome se nalazi kod koji će tu grešku obraditi.
parametar Exception tipa. Exception klasa je osnovna klasa izuzetka i izuzetak ove klase u parametru će biti uvek uhvaćen.
blokova, postoji i treći blok, koji se naziva finally. Ovaj blok se izvršava svaki put, bez obzira na ishod prethodnih blokova. U njemu se, obično, nalaze sistemi za zatvaranje resursa (zatvaranje toka, konekcije sa bazom i sl.).
Korištenje bloka finaly
•Ponekad želimo da definišemo blok koda koji će se izvršiti kada try/catch blokovi završe sa svojom logikom.
•Npr., kada dođe do pojave izuzetka u metodi koja rukuje mrežnom konekcijom, doći će do toga da konekcija ostane otvorena, što može izazvati razne probleme. Ovakav problem lako se može riješiti upotrebom finally bloka, koji se može iskoristiti da se u okviru njega riješe slične situacije.
•Prethodni primjer sa dodatkom finally bloka bi izgledao ovako:
Finally blok izvršiće se u svakoj situaciji kada izvršavanje programa napusti try/catch blok.
Baza podataka (database ili skraćeno DB ) predstavlja organizovanu kolekciju podataka. Iako postoje mnogi tipovi baza podataka (hijerarhijske, objektno orijentisane, relacione), relacione baze podataka, koje organizuju podatke u tabele sa međusobnim povezanostima (relacijama) su najzastupljenije.
zasebnih virtuelnih mašina.
Kod ugrađenog (embedded) okruženja sam engine baze podataka izvršava se u okviru iste JVM-a kao i aplikacija.
aplikacije sa jednim korisnikom, a sama baza podataka je praktično nevidljiva za krajnjeg korisnika, pošto je startovana i zaustavljena od strane same aplikacije i ne zahtijeva praktično nikakvu administraciju.
desktop aplikacije. Baza podataka ima samo jednog korisnika. Na korisnika se ovdje misli na samu aplikaciju. mbedded) u samu aplikaciju, jedino ta aplikacija imat će mogućnost pristupa bazi podataka.
Embedded korištenje baze podataka:
Ovakav scenario je nekada posebno poželjan, pošto će možda aplikacija koju razvijamo upravo zahtijevati ovakvu bazu, pa bi korištenje komplikovanih klijent/server okruženja nepotrebno zakomplikovalo cijeli sistem, jer bi bilo potrebno na računaru korisnika instalirati bazu podatka i baviti se njenom administracijom.
Java DB za upravljanje bazama podatka ili DBMS (Database Management System).
Management System).
Server, SQLite, Apache Derby, Oracle RDBMS.
Wikipedia i mnogi drugi.
Java DB
programerima omogućilo da testiraju napisani JDBC kod.
-vog open- source projekta pod nazivom Derby.
klijent/server okruženju.
U okviru NetBeans razvojnog okruženja postoji GUI (grafičko korisničko okruženje) za upravljanje JAVA DB bazama podataka.
Tabele se mogu dodati korištenjem SQL upita ili kroz GUI, gdje će na osnovu našeg unosa okruženje izgenerisati odgovarajući SQL upit.
•Da bismo samostalno unijeli SQL upit možemo odabrati opciju Execute Command.
Da bismo kreirali našu tabelu potrebno je napisati SQL upit:
CREATE table USERS (ID INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), USERNAME VARCHAR(30), PASSWORD VARCHAR(30)
.
JDBC
rojekat, tj. Java aplikaciju u kojoj ćemo se povezati na kreiranu bazu i izvršiti osnovne operacije.
korisiti se JDBC (Java Database Connectivity) API.
se koristi kako bi se obavile različite operacije nad podacima u bazi, tj. kako bi se izvršile mnogobrojne SQL naredbe kojima se manipuliše podacima.
(RDBMS), on se može koristiti i za komunikaciju i sa bazama smještenim u okviru fajla.
Prije bilo kakvog rada sa bazom podataka, potrebno je uspostaviti konekciju.
java.sql.DriverManager i interfejs javax.sql.DataSource :
Manager omogućuje aplikaciji da se konektuje na bazu podataka korištenjem URL-a
tatement(), prepareStatement() i prepareCall() koje redom vraćaju : Statement, PreparedStatement i CallableStatement.
Statement i ResultSet
ja je najlakša za dobijanje Statement instance.
naredbe) glasi:
Statement i ResultSet
public static void main(String[] args) {
try (Connection conn = DriverManager.getConnection("jdbc:derby://localhost:1527/test_database", "test_user", "123");)
{
Statement stInsert = conn.createStatement();
stInsert.execute("insert into users (username,password) values ('myUserName','myPassword')");
Statement stSelect = conn.createStatement();
ResultSet rs = stSelect.executeQuery("select * from users");
while (rs.next()) {
System.out.println("User:");
System.out.println("Username: " + rs.getString("username"));
System.out.println("Password: " + rs.getString("password"));
System.out.println("\n");
}
} catch (SQLException ex) {
System.out.println("Error in database connection: \n" + ex.getMessage());
}
}
Statement i ResultSet
1.Kreiranje konekcije na bazu podataka.
2.Kreiranje Statement objekta sa nazivm stInsert i korištenjem metode execute izvršena SQL naredba za unos podataka u bazu.
3.Nakon ubacivanja podataka u bazu, kreiran je novi objekat tipa Statement sa nazivom stSelect, a zatim je korištenjem metode executeQuery, izvršena SQL naredba za dobavljanje zapisa iz baze. Ova metoda vraća ResultSet objekat u okviru koga će se nalaziti pročitani zapisi.
4.Za čitanje zapisa iz ResultSet objekta koristi se jedna while petlja, a za provjeru dostupnosti pročitanih polja iz baze koristi se metoda next, koja vraća true ili false u zavisnosti od postojanja sljedećeg zapisa.
5.Prilikom čitanja podataka iz ResultSet, koriste se metode za specifične tipove podataka. Na ovaj način vrši se mapiranje podataka iz baze u tip podataka podržan u Java jeziku.
CallableStatement
•CallableStatement predstavlja najspecijalizovaniji od pomenuta tri interfejsa.
•Koristi se za izvršavanje SQL stored procedura.