2013-02-18 6 views
5

Ich habe ein Objekt namens Mitarbeiter, die eine lange Liste von Attributen hat, bin ich die Werte aus der Datenbank retriving und müssen sie in die Mitarbeiter-Objekt setzen, ich das tue folgenden aber, da der Code so lang ist, wenn ich mich, es ist eine Verknüpfung zu ihm.Wie fügt man Ergebnisse zu einem Objekt mit einer langen Liste von Feldern hinzu?

Employee emp = new Employee(); 
     try { 

      ps = con.prepareStatement("select * from Employee WHERE username = ?"); 

      ps.setString(1, username); 
      ResultSet r = ps.executeQuery(); 
if (r.next()) { 

     // 12 lines to put values into employee object need to be shorter    
     emp.setID(r.getInt(1)); 
     emp.setTitle(r.getString(2)); 
     emp.setFname(r.getString(3)); 
     emp.setLname(r.getString(4)); 
     emp.setMobile(r.getString(5)); 
     emp.setPhone(r.getString(6)); 
     emp.setEmail(r.getString(7)); 
     emp.setPosition(r.getString(8)); 
     emp.setUsername(r.getString(9)); 
     emp.setPassword(r.getString(10)); 
     emp.setQuestion(r.getString(11)); 
     emp.setAnswer(r.getString(12)); 

} 
}..... 
+0

Schalter auf ORM-Framework –

+0

@JigarJoshi, würden Sie mich ein Beispiel geben? –

Antwort

2

Verwendung Apache Commons BeanProcessor. Es hat zwei sehr nützliche Methoden nur für diese namens toBean und toBeanList.

In diesem Fall würden Sie dies einfach tun:

if (r.next()) { 
    BeanProcessor bp = new BeanProcessor(); 
    emp = bp.toBean(r, Employee.class); 
} 
+0

Große, was seine erforderliche Glas oder Abhängigkeit ist, konnte ich es nicht finden, ist –

+0

Hier wird das Projekt nach Hause: http://commons.apache.org/dbutils/ Sie können durch einen Klick auf Download, um die JAR-Datei herunterladen und die Binärdateien herunterzuladen. – stepanian

+0

pleaseh haben einen Blick auf die folgende Frage http://stackoverflow.com/questions/14929818/how-to-copy-resultset-into-object –

0

Wie in den Kommentaren von Jigar Joshi erwähnt, wäre ein ORM-Framework wie Hibernate hier eine gute Wahl sein.

Hier ist ein Beispiel, das Sie, um loszulegen.

http://docs.jboss.org/hibernate/orm/4.1/quickstart/en-US/html_single/#hibernate-gsg-tutorial-basic-test-list

+0

Dies ist nicht wirklich eine Antwort auf die Frage. Es ist eine Empfehlung, eine andere Technologie zu verwenden. – stepanian

+1

Eine Technologie, die genau das Problem löst, das das OP zu lösen versucht. – Samee

+0

erwähnen Lediglich die beste Praxis hier, da @DanielMorgan wurde für ein Beispiel dieselbe zu fragen. –