2011-05-18 49 views
8

Estoy buscando generador DAO libre y simple para Java (necesita crear entidades/bens desde tablas/vistas db y generar código básico CRUD). Actualmente, estoy usando DAO4J, que carece de algunas funcionalidades como el mapeo de vistas. Sé que hay marcos como Hibernate, pero no necesito un marco tan sólido.Generador DAO para java

Algunas cosas de este marco debería tener que hacer:

  • Generar operaciones CRUD con consultas SQL estándar y no en tiempo de compilación typesafe consultas de
  • Flexible No tiene concepto de sesión como Hibernate
  • no serán automáticamente estrecha relación
  • JDBC de conexión se puede configurar a través del código

Respuesta

8

Ninguno de estos son parejas perfectas, pero ambos roca, en su propia manera individual:

  1. Spring Roo genera DAOs, Web Controladores y más para usted.
  2. QueryDSL automáticamente creates Objects from your database tables y ofrece una sintaxis de consulta orientada a objetos con seguridad en tiempo de compilación.

Pero yo diría que el ganador es Spring Data. Ofrece una abstracción simple pero poderosa sobre muchas tecnologías de almacenamiento de datos subyacentes diferentes y genera datos para usted automáticamente. Aquí hay una presentación de Spring Data JPA. Desafortunadamente, Spring Data aún no se ha publicado en las versiones finales.

+0

DeltaSpike (https://deltaspike.apache.org/) es una alternativa de Apache, y puede ver un recorrido rápido en https://jaxenter.com/top-3-jpa-productivity-boosters-for -java-ee-developers-deltaspike-data-116136.html – user3257644

+0

@ user3257644 Sugiero que lo escribas como una respuesta adicional –

2

I woul No estoy muy a favor de la generación automática.

Puedo recomendar iBatis como un medio paso entre JDBC e Hibernate.

+2

El proyecto ahora ha cambiado a myBatis: http: //www.mybatis.org/ –

2

Puede hacerlo con Hibernate Tools. Pero personalmente nunca lo intenté, solo he creado clases de entidad por ahora.

+0

Lo único que encontré con Hibernate es que puede haber una curva de aprendizaje bastante empinada una vez que obtienes más allá de las cosas básicas de CRUD. Para mí, las ganancias de eficiencia cayeron bastante rápido una vez superado el prototipo inicial. A veces es más fácil usar balas de plomo. Ahora solo uso Spring JDBCTemplates. Creo que proporciona una buena combinación de código repetitivo y al mismo tiempo le permite hacer consultas complejas. – BillMan

6

Para agregar a la respuesta de duffymo, MyBatis es bueno y puede usar el MyBatis generator para generar código de acceso a datos.

2

Sería el segundo iBatis. Otra sugerencia puede ser Spring JDBCTemplate. Ya que está bien para adoptar un marco, entonces, ¿por qué no ir con Spring. También te facilitará otras cosas grandiosas.

+0

Soy nuevo en Java y mi proyecto tiene un límite de tiempo, así que no puedo perder el tiempo aprendiendo nuevos frameworks grandes. Espero que algún día use Spring framework ... –

+1

@Ivan: El brillo de Spring radica en su distribución y uso. Es tan grande como tu uso de él. –

+0

No puedo estar más de acuerdo con eso, pero desde que soy principiante en el mundo de Java es un poco complicado con todas estas cosas nuevas. –

4

Si solo necesita un generador de código sin adherirse a un marco, debe probar Telosys Tools. Es una herramienta ligera, genera código a partir de un modelo de base de datos existente.

Ver https://www.telosys.org

Algunas plantillas están especialmente diseñados para JDBC generación de código, están disponibles en GitHub https://github.com/telosys-templates-v3

Ofrecen generación de código para DAO, interfaces de DAO, POJO (frijoles), las pruebas JUnit , etc.