2011-05-18 6 views
8

Sono alla ricerca di un generatore DAO gratuito e semplice per java (è necessario creare entità/bens dalle tabelle/viste DB e generare codice CRUD di base). Attualmente sto usando DAO4J che manca di alcune funzionalità come il mapping delle viste. So che esistono strutture come Hibernate ma non ho bisogno di un framework così solido.DAO generator for java

Alcune cose in questo quadro dovrebbe avere a che fare:

  • generare operazioni CRUD con query SQL standard e non a tempo di compilazione typesafe query
  • Non ha concetto di sessione come Hibernate
  • non verrà automaticamente stretta connessione
  • JDBC Connection può essere configurato tramite il codice

risposta

8

Nessuno di questi sono partite perfette, ma entrambi roccia, a loro modo individuale:

  1. Spring Roo genera DAO, Web Controllers e di più per voi.
  2. QueryDSL automaticamente creates Objects from your database tables e offre una sintassi di query orientata agli oggetti con la sicurezza in fase di compilazione.

Ma direi che il vincitore è Spring Data. Offre un'astrazione semplice ma potente su molte diverse tecnologie di archiviazione dei dati sottostanti e genera automaticamente daos automaticamente. Ecco una presentazione di Spring Data JPA. Purtroppo Spring Data non è ancora stato rilasciato nelle versioni finali.

+0

DeltaSpike (https://deltaspike.apache.org/) è un'alternativa di Apache e una rapida panoramica può essere vista su https://jaxenter.com/top-3-jpa-productivity-boosters-for -java-ee-developers-deltaspike-data-116136.html – user3257644

+0

@ user3257644 Suggerirei di scriverlo come risposta aggiuntiva –

2

ho servizievole non sarà molto favorevole alla generazione automatica.

Posso consigliare iBatis come mezzo passo tra JDBC e Hibernate.

+2

Il progetto è ora cambiato in myBatis: http: //www.mybatis.org/ –

2

È possibile farlo con Hibernate Tools. Ma personalmente non l'ho mai provato, ho creato solo classi di entità ormai.

+0

L'unica cosa che ho trovato con Hibernate è che ci può essere una curva di apprendimento piuttosto ripida una volta che si ottiene passato il materiale di base CRUD. Per me, i guadagni in termini di efficienza sono calati abbastanza rapidamente una volta superata la fase iniziale di prototipazione. A volte è più facile usare i proiettili di piombo. Ora uso solo Spring JDBCTemplates. Penso che fornisca un buon mix di codice boilerplate limitante pur consentendo di fare query complesse. – BillMan

6

Per aggiungere alla risposta di duffymo, MyBatis funziona correttamente e è possibile utilizzare MyBatis generator per generare il codice di accesso ai dati.

2

Vorrei secondo iBatis. Altri suggerimenti possono essere Spring JDBCTemplate. Dato che stai bene per adottare un framework, quindi perché non andare con Spring. Ti aiuterà anche con altre grandi cose.

+0

Sono nuovo di Java e il mio progetto è a tempo limitato, quindi non posso perdere tempo a imparare nuovi grandi framework. Spero che un giorno utilizzerò il framework Spring ... –

+1

@Ivan: Lo splendore di Spring sta nelle sue distribuzioni e utilizzo. È grande quanto il tuo uso. –

+0

Non posso essere più d'accordo su questo, ma dal momento che sono un mendicante nel mondo Java, è un po 'caotico con tutte queste novità. –

4

Se hai solo bisogno di un generatore di codice senza aderenza a un framework, dovresti provare Telosys Tools. È uno strumento leggero, genera codice da un modello di database esistente.

Vedi https://www.telosys.org

Alcuni modelli sono stati appositamente progettati per JDBC generazione di codice, sono disponibili su GitHub https://github.com/telosys-templates-v3

Essi offrono la generazione di codice per il DAO, interfacce DAO, POJO (fagioli), test JUnit , ecc.