Povezivanje java projekta sa bazom podataka

Discussion in 'Operativni sistemi, aplikacije i programiranje' started by Kondenzator, Jul 2, 2012.

  1. Kondenzator

    Kondenzator Novi član

    Pozdrav,

    Radimo na jednom projektu koji je vezan za fakultet. Radimo u programskom okruženju "Eclipse".
    Program nam mora imati i bazu podataka koja ce biti smjestena na našem racunaru, dakle ne na mreži.

    Pošto nemamo baš nekog iskustva kako se to radi, ne znamo tacno koji bi nam najbolji programi bili od mnoštva programa potrebna nam je pomoc.

    Zamolio bi vas da napišete koji bi software bio najbolji za to i malo uputa kako, sta. Znat cemo napravit tabele preko SQL naredbi, ali ne znamo sad kako importovati te tabele (tu bazu) u naš projekat itd its...

    Unaprijed zahvalni...
     
  2. BoLa

    BoLa Aktivista

  3. selvin

    selvin Moderator

    Evo moj quote sa druge teme:
    Mozes koristiti derby bazu za to sto tebi treba. Malo treba vremena da se ustelis u ovaj JPA, ali je jako mocan kada ga savladas.
     
  4. AhmeT

    AhmeT Overclocker

    Ovaj BoLin link je super, tu sve ima detaljno, sigurno ako krenete po tome necete pogrijesiti. Ali, posto je podug, evo samo kratko od mene primjercic od neceg skorasnjeg, nista posebno a opet odradi posao:
    Code:
    String username = "ahmet";
    String pass = "vrlovrlotajnipass";
    String ime_koje_ce_se_dobiti_iz_baze;
    
    //kreiranje parametara koji ce biti koristeni zakonekciju
    Connection conn = null;
    String url = "jdbc:mysql://localhost:3306/";
    String dbName = "test";
    String driver = "com.mysql.jdbc.Driver";
    String userName = "root"; 
    String password = "admin";
    Statement st;
    
    try {
    
    	Class.forName(driver).newInstance();
    
    	//kreiranje konekcije i querija
    	conn = DriverManager.getConnection(url+dbName,userName,password);
    	String query = "select type, first_name from users where  username='"+username+"' and password='"+pass+"'";
    
    	//izvrsavanje querija
    	st = conn.createStatement();
    	ResultSet  rs = st.executeQuery(query);
    
    	//provjera da li ima rezultata
    	if(rs.next()){
    
    		//ako ima, onda dalji rad sa njima, ovdje je specificno za neki problem pa je ovakav sistem, ali obicno ce tu biti kod koji ce "uzeti" stvari koje su rezultat sql querija
    		if(rs.getString(1) != null){
    			
    			//pridruzivanje vrijednosti iz rezultata u varijable
    			ime_koje_ce_se_dobiti_iz_baze = rs.getString("first_name");
    			System.out.println("Hej, sta ima "+ ime_koje_ce_se_dobiti_iz_baze);
    
    		}else{
    
    			//nesto nije uredu, query je vratio rezultat, ali nije u zeljenom formatu, nema onog sto se trazi :(
    
    		}
    			
    	}else{
    
    		//query nije nista vratio, o ne :(
    		System.out.println(":(");
    
    		}
    	
    	}catch (Exception e) {
    	  e.printStackTrace();
    	}
    Iako je ovakav nacin provjere imena i sifre nesiguran, to cemo zanemariti zasad :) Uglavnom, ovo pravi obicni query iz tabele korisnika, gleda da li ce se vratiti ista, i ako se vrati, u slucaju da je u rezultatu ime u vidu stringa, uzima to i dodjeljuje ga varijabli. Ovakav koncept se moze koristiti i za ostale stvari. (hwb malo zeza indentaciju, eclipse ce ponuditi import koji treba :))
     
  5. selvin

    selvin Moderator

    Ovo igranje sa stringovima je u najmanju ruku smijesno kad pogledas JPA :) Za bilo sta ozbiljnije JPA je nesto minimalno sto se treba savladati.
     
  6. AhmeT

    AhmeT Overclocker

    Ma kako si citirao pa se linkovi "skratili", nece da se otvori, a ko ce nac onu tvoju temu :D
     
  7. selvin

    selvin Moderator

    Ispravljeno :)