Un DAO in DUE minuti

Posted by Lucio Benfante Sat, 09 Dec 2006 05:40:00 GMT

Parancoe è un framework Web pensato per scrivere rapidamente applicazioni Web “di tutti i giorni”, cioè applicazioni senza requisiti particolari, quelle che nel 90% dei casi viene richiesto di sviluppare. Lo scopo quindi non è avere un framework iper-flessibile, capace di adattarsi a tutti i requisiti possibili, ma un framework che renda molto semplice la vita al programmatore sviluppando quel particolare tipo di applicazioni.

Il suo modulo di persistenza segue la stessa filosofia e permette di ottenere in pochi minuti le classi per accedere ai dati (DAO - Data Access Object) dell’applicazione, memorizzati in un database relazionale.

Ad esempio, supponiamo di avere una classe persistente Person, mappata sul DB mediante Hibernate. Per ottenere il suo DAO con Parancoe è sufficiente scriverne l’interfaccia:

@Dao(entity=Person.class)
public interface PersonDao extends GenericDao<Person, Long> {}

…e scriverne una semplice configurazione per Spring:

<parancoe:dao id="personDao"
    interface="org.parancoe.example.dao.PersonDao"/>

Già così avete ottenuto un DAO con i seguenti metodi:

  • Long create(Person newInstance);
  • Person read(Long id);
  • void update(Person transientObject);
  • void delete(Person persistentObject);

Notate che non sono metodi “generici”, ma usano il tipo dell’oggetto persistente, quindi non sono necessari cast.

Ma si può andare oltre. Supponiamo che abbiate bisogno di un metodo per ottenere la lista delle persone con un determinato nome e cognome. Con Parancoe è sufficiente modificare l’interfaccia, aggiungendo tale metodo:

@Dao(entity=Person.class)
public interface PersonDao extends GenericDao<Person, Long> {
    List<Person> findByFirstNameAndLastName(
        String firstName, String lastName);
}

Questo è tutto: non è necessario scrivere l’implementazione di tale metodo, nè modificare la configurazione del DAO.

Per saperne di più leggete questo tutorial nel wiki del progetto.

Se poi volete contribuire, anche solo per dare suggerimenti su come proseguire nello sviluppo, commentate questo articolo e visitate il sito del progetto:

http://parancoe.dev.java.net

Potete anche iscrivervi alle mailing-list del progetto:

https://parancoe.dev.java.net/servlets/ProjectMailingListList

Aggiornato 28/12/2006: è cambiato il modo di configurare i bean DAO.

Posted in ,  | Tags , , ,  | 8 comments | no trackbacks

Comments

  1. Avatar Car rental paphos Reviews said 2319 days later:

    But yesterday Asil Nadir finally went on trial for allegedly stealing 150million to fund his luxury lifestyle.

    If you are fan of Diving then you should learn more about Buddhism you can go on trip with brand new cars and near new cars for rent. A great benefit of hiring a private car is that car rental companies to choose from.

  2. Avatar bali indonesia vacation rental said 2838 days later:

    I love reading through your blog, I wanted to leave a little comment to support you and wish you a good continuation. Wishing you the best of luck for all your blogging efforts.

  3. Avatar bali indonesia vacation rental said 2838 days later:

    Thanks you so much for sharing this to us. I really appreciated this.

  4. Avatar buy soundcloud plays said 2838 days later:

    I love reading through your blog, I wanted to leave a little comment to support you and wish you a good continuation. Wishing you the best of luck for all your blogging efforts.

  5. Avatar geebranz said 5417 days later:

    Final implementation

    Holiday Season

  6. Avatar geebranz said 5417 days later:

    Count me in!

    Holiday Season

  7. Avatar baby photography said 5418 days later:

    This is such a great help! I’ve been struggling for days already, soo glad i found this site! thanks for sharing!

  8. Avatar baby photography said 5418 days later:

    Totally efficient and so friendly. I’d highly recommend them to

Trackbacks

Use the following link to trackback from your own site:
http://www.jugpadova.it/articles/trackback/11508

(leave url/email »)

   Comment Markup Help Preview comment