View Single Post
Staro 19.03.2012., 17:19   #1
Mane
Registered User
 
Datum registracije: Oct 2010
Lokacija: Rijeka
Postovi: 48
Pomoc oko java hibernatea...

Pozdrav, trebao bih pomoć oko sljedeceg "problema".

zamolio bih nekoga da mi preko hibernatea i mappinga u javi pokaze kako da napravim select querry na bazi... napravio sam update na bazu, al za select nikako da nadjem nesto na netu sta funkcionira i da primjenim na svome primjeru. Stavit cu najkrace klase da ne spamam.

KLASA Posao

public class Posao {
private int sifra;
private String opis;
public int getSifra(){
return sifra;
}
public void setSifra(int sifra){
this.sifra=sifra;
}
public String getOpis(){
return opis;
}
public void setOpis(String opis){
this.opis=opis;
}
}


mapping za nju Posao.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name ="Posao" table ="posao">
<id name = "sifra" column ="sifra" type="int"/>
<property name="opis" column="opis" type="string"/>
</class>
</hibernate-mapping>



i evo napokon unosa u bazu

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

public class UnosPosla {
public void unosPosla(){
try {
//hibernate konfiguracija
Configuration cfg = new Configuration();
SessionFactory factory = cfg.configure().buildSessionFactory();
Session session = factory.openSession();

//unos podataka posao

String sifra = Citac.getInput("Unesite sifru posla: ");
String opis = Citac.getInput("Unesite opis posla: ");

Posao p = new Posao();

p.setSifra(Integer.parseInt(sifra));
p.setOpis(opis);

Transaction tx = session.beginTransaction();

session.saveOrUpdate(p);

tx.commit();

System.out.println("Podaci uspjesno unešeni\n"
+"SIFRA POSLA: "+sifra+"\nOPIS: "+opis);

session.close();
}

catch (Exception e){
System.out.println("greska: "+e);

} } }


Znaci to sve radi. citac je zasebna klasa naravno, nije potrebna tu... e sad mene zanima kako na isti takav nacin napraviti querry da se ispisu ta dva stupca iz baze... ja sam to ovako napravio kako cu staviti dolje..a treba mi kako to napraviti putem hibernatea


import java.sql.*;
public class IspisPoslova {
public void ispisPoslova(){
Connection con = null;
PreparedStatement pst = null;
ResultSet rs = null;

String url = "jdbc:mysql://localhost:3306/carnet";
String user = "mane";
String password = "fpcfvp";

try { con = DriverManager.getConnection(url, user, password);
//pst = con.prepareStatement("SELECT * FROM zaposlenik");

pst= con.prepareStatement("SELECT * FROM POSAO");

rs = pst.executeQuery();

System.out.println("SIFRA\t\tOPIS");
System.out.println("---------------------------------------------");

while (rs.next()){
//pokupi podatke iz tablice zaposlenik
int sifra = rs.getInt("SIFRA");
String opis = rs.getString("OPIS");

System.out.println(sifra+"\t\t"+opis);
}
}
catch( SQLException se ) {
System.out.println ("SQLError: " + se.getMessage ()
+ " code: " + se.getErrorCode());
}
catch( Exception e ) {
System.out.println(e.getMessage());
e.printStackTrace();
}
finally{

try{
rs.close();
pst.close();
con.close();
} catch(Exception e){
e.printStackTrace();
}} }}

evo zamolio bih nekoga da mi napravi na ovom jednostvanom primjeru putem hibernatea kako to izvest.. ukoliko nije problem. hvala puno
Mane je offline   Reply With Quote