2009-08-08 9 views
2

Ich möchte vorbereitete Anweisung mit ejb3 verwenden, um Daten in Oracle einzufügen. ist es möglich zu verwenden.vorbereitet Statement in ejb3

Ich versuche, ein Beispiel im Netz zu finden, aber ich konnte kein gutes Beispiel finden.

Bitte helfen Sie mir, es zu benutzen. oder gibt es eine andere Art und Weise Parameterabfrage zu verwenden (wie wir verwenden in vorbereitete Anweisung?) in ejb3

Danke und Grüße

Antwort

0

es ist sehr einfach:

public class YourEJB { 

    @Resource(mappedName="java:/DefaultDataSource") 
    DataSource dataSource; 

    // XXX: not handling exceptions  
    public void insertPerson(String name, String surname) { 
     Connection connection = dataSource.getConnection(); 
     PreparedStatement insertPerson = connection.prepareStatement(
      "INSERT INTO PEOPLE VALUES(?,?)"); 
     insertPerson.setString(1, name); 
     insertPerson.setString(2, surname); 
     insertPerson.executeUpdate(); 
    } 

Nehmen Sie auch einen Blick auf JDBC tutorials .

+0

HI Dfa, Danke für die Antwort. Ich möchte vorbereitete Anweisung mit EJB createNativeQuery() verwenden .. oder gibt es eine andere Möglichkeit, Parameterabfrage (wie wir verwenden? in vorbereiteten Anweisung) in ejb3 –

0

Wenn Sie EJB verwenden, besteht die Idiom darin, Entity-Beans für die Datenbankinteraktion zu verwenden. Wenn Sie EJB3 verwenden, sollten Sie ein Objekt erstellen und Anmerkungen verwenden, um mit der Datenbank umzugehen. SQL wird für Sie mit JPA generiert.

Wenn also EJB all diese Abstraktion anbietet, um Ihnen zu helfen, warum haben Sie das Bedürfnis, auf die untere Ebene zurückzukehren und ein PreparedStatement zu schreiben? Vielleicht ist die wirkliche Antwort, Ihr Objektmodell zu überdenken und zu sehen, wie die Abfrage in eine Entity-Bean-Abstraktion passen könnte.