Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Datenbankabfragen werden in RapidClipse standardmäßig in der Data Access Schicht (Projektmanagement > Data Access) durchgeführt. Dadurch werden Datenbankabfragen von UI, Entities und Business Logik getrennt. In der Data Access Schicht wird für jedes Entity ein entsprechendes Data Access Object (DAO) zur Verfügung gestellt (beim Anlegen und Importieren von Intities standardmäßig), das die Schnittstelle zur Datenbank bildet. Die Datenbankabfrage selbst erfolgt mit Hilfe einer benutzerdefinierten Methode, die auf dem DAO aufgerufen wird, die Datenbankabfrage absetzt und danach das Abfrageergebnis zurückliefert. Das DAO stellt bereits einige Standard-Methoden zur Verfügung.

Standard Query-Methoden 

  • Abfragen aller Datensätze bezogen auf das verwendende DAO-Objekt - .findAll();

    Code Block
    languagejava
    themeConfluence
    List<Customer> allCustomers = new CustomerDAO().findAll();
    		
    for (Customer customer : allCustomers) {
    			...
    }
  • Abfragen eines bestimmten Objektes über den Primärschlüssel - .find(Object primaryKey)

    Code Block
    languagejava
    themeConfluence
    Customer specificCustomer = new CustomerDAO().find("SHG");
    String contactname = specificCustomer.getContactname();
  • Liefert eine Liste an Objekten zurück welche auf das übergebene Beispiel passen - .findByExample(Class entity, Object example)
    ACHTUNG: Auch Standardwerte wie 0 oder "" (leer String) fließen in die Prüfung mit ein, alle Werte sollten also mit null vorbelegt sein 

    Code Block
    languagejava
    themeConfluence
    Customer exampleCustomer = new Customer();
    exampleCustomer.setCity("Musterhausen");
    exampleCustomer.setContacttitle("Herr");
    
    List<Customer> findByExample = new CustomerDAO().findByExample(Customer.class, exampleCustomer);
  • Manuelles abbrechen der Transaktion mit anschließenden RollBack - .rollback()

    Code Block
    languagejava
    themeConfluence
    new CustomerDAO().rollback();
  • Speichern von Angelegten Entities - .save(Object entity)

    Code Block
    languagejava
    themeConfluence
    Customer exampleCustomer = new Customer();
    exampleCustomer.setCity("Musterhausen");
    exampleCustomer.setContacttitle("Herr");
    		
    Customer savedCustomer = new CustomerDAO().save(exampleCustomer);

    oder

    Code Block
    languagejava
    themeConfluence
    Customer exampleCustomer2 = new Customer();
    exampleCustomer2.setCity("Musterhausen2");
    
    Customer exampleCustomer3 = new Customer();
    exampleCustomer3.setCity("Musterhausen3");
    
    
    Customer exampleCustomer4 = new Customer();
    exampleCustomer4.setCity("Musterhausen4");
    		
    Customer savedCustomer = new CustomerDAO().save(exampleCustomer2, exampleCustomer3, exampleCustomer4);

Benutzerdefinierte Queries