roo - ¿Existe una utilidad de generador CRUD en Java(cualquier marco) como Scaffolding in Rails?
jhipster (21)
JBoss Seam tiene una utilidad de scripting llamada seam-gen que creará andamios:
http://docs.jboss.org/seam/1.1BETA2/reference/en/html/gettingstarted.html
¿Hay una utilidad de generador CRUD en Java como Scaffolding in Rails? Puede estar en cualquier marco o incluso servlets simples. Debe generar controladores + vistas en jsp, no solo código DAO ...
Netbeans tiene algo como esto.
Hay una demostración aquí: http://www.netbeans.org/kb/55/persistence-demo.html
Tengo esto hace mucho tiempo.
http://mahosoft.com/docs/WhitePaper-WEB-App-Spanish.pdf
Traducción de Google al inglés:
Sin embargo, puede estar desactualizado.
Grails tiene andamios.
Hay krank en Google Code. No lo he probado todavía, pero parece prometedor.
Desde que se hizo la pregunta, salieron varios marcos para Java. Echa un vistazo a Spring Roo y Play Framework . También está Skyway Builder , que creo que es anterior a ambos.
Pruebe Grails en http://www.grails.org/
AppFuse .
Es muy poderoso, tal vez será demasiado poderoso para la tarea en cuestión, pero lo hace bien.
Spring Roo parece ser exactamente lo que estás buscando: la generación de código CRUD, arroja código Java puro que se puede ejecutar completamente independientemente del marco.
Echa un vistazo a Tynamo
NetBeans puede generar CRUD para la base de datos existente en JSF.
¿Qué pasa con OpenXava http://openxava.org ?
Ver Jspresso - http://www.jspresso.org/
Presenta múltiples front-ends (Flex, HTML / Javascript puro, Swing, etc.) pero no le da mucha libertad en la parte de visualización. Vale la pena comprobarlo.
Consulte el complemento Telosys Tools Eclipse en http://www.telosys.org/
El complemento se conecta a la base de datos, genera un repositorio ligero, le permite personalizar el repositorio si es necesario y genera Java Beans, DAO, convertidores XML, ScreenMaps (JSP), etc.
Puedes construir una aplicación web centrada en datos en pocos minutos
No te olvides de jugar . Extraordinariamente fácil de usar. Una vez que tenga experiencia en ruby on rails, será fácil para usted adaptarse también en Java.
Eche un vistazo a herramientas como:
MetaWidget http://www.metawidget.org/
ISIS http://incubator.apache.org/isis/index.html (anteriormente Naked Objects)
Generan "sobre la marcha" de la interfaz de usuario, pero le permiten personalizar la interfaz de usuario cuando sea necesario.
Mucho mejor que la generación de código.
Si tiene un proyecto de ejemplo que contiene el tipo de arquitectura CRUD (o lo que sea) que desee, entonces el andamiaje simple podría ser un enfoque útil.
Es una clase única que escanea tu base de códigos existente y crea plantillas que luego puedes aplicar a otras entidades. Por ejemplo, MongoUserDao
se puede convertir en una plantilla que genera, por ejemplo, MongoCustomerDao
. Funciona con cualquier código y accesorio de prueba.
Muy básico, pero hace el trabajo y es FOSS bajo la licencia de MIT.
El informe de GitHub está aquí: https://github.com/gary-rowe/SimpleScaffolding
Eche un vistazo a Minuteproject
Y prueba sus demos .
En cuanto a las tecnologías
Si busca simplemente ORM + DAO, intente con la pista BSLA-JPA2 (BSLA, por sus siglas en inglés, Basic Spring Layer Architecture). Promueve el patrón de máscara para facilitar la búsqueda.
Si quieres Persistencia orientada al registro activo mira a JOOQ o Roo
Si quiere servlets, mire minuteproject 4 Openxava o 4 Primefaces
Si desea que los portlets consulten el constructor Liferay Service, minuteproject generará la entrada service.xml de su DB.
En cuanto a tu modelo
Si desea que su código (java) siga la convención de Java y no la convención de DB, use minuteproject. Tiene instalaciones de enriquecimiento que le permiten:
- Entidades de paquete (tabla / vista)
- Aplicar convenciones de nombres de entidad / campo
- Aplicar estereotipos / restricciones / validaciones
- recuperar relaciones (one2many, many2one, many2many) si faltan claves externas aquí
- Y muchos más
Este enriquecimiento se puede aplicar individualmente en el campo / entidad / paquete o globalmente a través de convenciones ( entonces usted configura sus propias convenciones ).
Me encontré con esta pregunta y probé muchas respuestas sugeridas. Al final, encontré Lightadmin . No genera código CRUD, pero proporciona un agradable front end para las clases de Entity con muy poco código. Para que la entidad de User
esté disponible a través de la interfaz web de Lightadmin, solo necesita dos cambios en los archivos XML y luego una clase de UserAdministration
:
public class UserAdministration extends AdministrationConfiguration<User> {
/* empty */
}
Puede configurar los nombres de los campos (y probablemente mucho más) en esta clase de Administration
, pero creo que ya es muy útil sin ninguna configuración adicional. La guía Getting Started realmente muestra lo fácil que es. Después de estos sencillos pasos, puede abrir la interfaz de administración en http://localhost:8080/TestApp/admin
.
Usa JHipster . Está construido sobre la popular herramienta de andamio frontal ''yeoman''. No solo genera su back-end incluyendo controladores, dao, seguridad, administración de usuarios, sistema y métricas de API, registrando, etc. usando Spring Boot & Spring MVC 4, sino que también genera su front-end usando js angulares. ¡También obtienes golosinas como gruñido, karma y bower completamente configuradas y listas para usar! ¡Junto con esto también obtienes control de versiones de base de datos!
También tiene sub generadores para generar entidades de dominio que generan su java y la interfaz correspondiente para administrar sus datos.
Tarda 10 minutos en ejecutar una aplicación web completa.