Is there a CRUD generator utility in Java(any framework) like Scaffolding in Rails? [closed]
Asked Answered
C

22

52

Is there a CRUD generator utility in Java like Scaffolding in Rails? Can be in any framework or even plain servlets. Must generate controllers + views in jsp, not just DAO code...

Cockswain answered 5/1, 2009 at 21:26 Comment(0)
M
28

Spring Roo seems to be exactly what you're looking for: CRUD code generation, spits out pure Java code that can be made tun run entirely independant from the framework.

Mcwhorter answered 8/1, 2010 at 10:20 Comment(3)
Well, not quite pure Java, there a whole lot of AspectJ in there by default, and I've heard varying reports as to how completely it can be removed without some elbow grease being applied.Cozenage
But I thougth AspectJ were Java.Dispatch
@Ed: It's basically an extension of Java that adds new language constructs. It requires a special compiler (that is generally slower than the regular Java compiler) as well as (I think) a runtime component.Mcwhorter
I
16

Grails has scaffolding.

Idaho answered 5/1, 2009 at 21:37 Comment(5)
+1. but note, grails is actually based on Groovy - but groovy is backwards compatible with java and you can mix and match groovy and java classes in the same project.Outrelief
Also note that JRuby and Rails works acceptably on the JVM as well.Scrutinize
sorry for the downvote, but I think the question specified Java, not JVMCop
@Bozho: and "Java" can only ever mea "Java, the language" and is never used as "Java, the platform"?Kittiekittiwake
you are right in general. But in case of such ambiguity it is proper to first ask the OP what he really means. Otherwise the more straightforward (i.e. Java-the-language) is assumed. Imo :)Cop
L
14

See the Telosys Tools Eclipse plugin at http://www.telosys.org/

The plugin connects to the database, generates a lightweight repository, lets you customize the repository if necessary and generates Java Beans, DAO, XML converters, ScreenMaps (JSP) etc...

You can build a Data Centric Web App in few minutes

Lovely answered 24/6, 2011 at 10:43 Comment(2)
Tutorials are available here : sites.google.com/site/telosystutorial for Spring MVC, Spring Data, JPA, AngularJS, etcForgotten
Telosys is my preferred code generator because it is free, open source, light, handy and moreover it generates clean Java code. As all the templates are customizable you can generate exactly what you want.Lancelancelet
B
10

Use JHipster. It is built on the popular front end scaffolding tool 'yeoman'. It not only generates your back end including controllers, dao, security, user management, system and API metrics, logging etc using Spring Boot & Spring MVC 4, but also generates your front end using angular js. You also get goodies like grunt, karma and bower fully setup and ready to use! Along with this you also get database versioning!

It also has sub generators for generating domain entities which generates your java and corresponding front end for managing it's data.

It takes 10 mins to get a full webapp running.

Budge answered 19/1, 2015 at 12:10 Comment(4)
JHipster is good but it generates a lot for you, much of it is tons of boilerplate you might not even need and making modifications to the generated code is not exactly trivial. If you want to use Spring Boot you are better off writing your application from scratch which is really easy with the starters and use Spring Data REST + Angular-HATEOAS + yeoman. In my opinion it's useful to see how a couple of technologies should work together.Gavrielle
Yes.. JHipster does provide a lot of boilerplate code, some of it is useful like the security, logging, metrics, angularjs setup, grunt setup etc.. Some of the code like the admin html pages etc aren't since you'll almost always change the UI, but the JS code is still useful. Overall, it's a good way to start working quickly without having to waste time in setup. I'd still go for it.Budge
BTW, the newer version of JHipster is splitting stuff into modules so you can only use what you need. This will fix the issue you raised.Budge
As an alternative bootify.io may be interesting when you need just plain Spring Boot code.Apical
M
8

JBoss Seam has a scripting utility called seam-gen that will create scaffolding:

http://docs.jboss.org/seam/1.1BETA2/reference/en/html/gettingstarted.html

Menhir answered 5/1, 2009 at 23:38 Comment(0)
C
6

AppFuse.

It is very powerful, perhaps it will be too powerful for the task in question, but it does it well.

Cop answered 8/1, 2010 at 10:9 Comment(0)
A
6

I came across this question and tried many suggested answers. In the end, I found Lightadmin. It does not generate CRUD code, but provides a nice front end to Entity classes with very little code. To make the User entity available through the Lightadmin web interface, it only needs two changes in the XML files and then a UserAdministration class:

public class UserAdministration extends AdministrationConfiguration<User> {
    /* empty */
}

You can configure the field names (and probably much more) in this Administration class, but I find it already very useful without any further configuration. The Getting Started guide really shows how easy it is. After these simple steps you can open the admin interface over http://localhost:8080/TestApp/admin.

Arbe answered 10/12, 2013 at 21:37 Comment(0)
B
5

Netbeans has something like this.

There's a demo here: http://www.netbeans.org/kb/55/persistence-demo.html

Bronwen answered 5/1, 2009 at 21:33 Comment(0)
C
5

There's krank on Google Code. I haven't tried it yet, but it looks promising.

Cide answered 13/3, 2009 at 14:17 Comment(0)
F
5

It might be a bit out of context, but for Java EE, there is Jboss Forge. There is an example that uses it.

Felske answered 6/11, 2012 at 18:21 Comment(0)
T
4

Have a look at tools like:

MetaWidget http://www.metawidget.org/

ISIS http://incubator.apache.org/isis/index.html (previously Naked Objects)

They generate UI's "on-the-fly" but allow you to customise the UI when necessary.

Much better than code generation.

Tilford answered 9/11, 2011 at 17:2 Comment(0)
B
4

Have a look at Minuteproject

And try it's demos.

Regarding technologies

If you look for just ORM + DAO try the track BSLA-JPA2 (BSLA meaning Basic Spring Layer Architecture). It promotes mask pattern to ease search.

If you want Active record oriented persistence look at JOOQ or Roo

If you want servlets look at minuteproject 4 Openxava or 4 Primefaces

If you want portlets look at Liferay Service builder minuteproject will generate service.xml input from your DB.

Regarding your model

If you want that your code (java) follows java convention and not DB convention use minuteproject. It has enrichment facilities that allows to:

  • Package entities (table/view)
  • Apply entity/field naming conventions
  • Apply stereotypes/constraints/validations
  • retrieve relationships (one2many, many2one, many2many) if foreign keys are missing ex here
  • And many more

This enrichment can be applied individually at field/entity/package or globally via conventions (So you configure your own conventions).

Belva answered 29/8, 2013 at 18:11 Comment(0)
C
3

Since the question was asked, there are several frameworks for Java that came out. Check out Spring Roo, and Play Framework. There is also Skyway Builder, which I think predates both.

Celadon answered 16/11, 2009 at 23:2 Comment(0)
U
3

Check out Tynamo

Unstoppable answered 25/1, 2010 at 7:20 Comment(0)
A
3

NetBeans can generate CRUD for existing database in JSF.

What about OpenXava http://openxava.org ?

Alarick answered 31/3, 2011 at 19:48 Comment(0)
L
2

Try Grails at http://www.grails.org/

Lorenzalorenzana answered 8/1, 2010 at 10:5 Comment(0)
I
2

See Jspresso - http://www.jspresso.org/
It features multiple front-ends (Flex, pure HTML/Javascript, Swing, etc) but it does not give you much freedom on the view part. It's worth checking though.

Imbecility answered 13/5, 2011 at 7:27 Comment(0)
J
2

Do not forget Play. Extramely easy to use. Once you have experience in ruby on rails it will be easy for you to adapt in Java too..

Jewelljewelle answered 26/8, 2011 at 13:17 Comment(0)
S
2

give a try to generjee

It generates CRUD and provides you backend along with frontend using specs like JPA, EJB, JSF framework using primefaces, java security, authentication, auditing, excel and pdf exporting, user management, user registration.

Afterward you can download the source code or deploy to heroku. I've tested it and it gave me expected results

Sevenfold answered 12/2, 2018 at 8:24 Comment(0)
E
1

I've got this a long time ago.

http://mahosoft.com/docs/WhitePaper-WEB-App-Spanish.pdf

Google translation to english:

http://translate.google.com/translate?hl=en&u=http://mahosoft.com/docs/WhitePaper-WEB-App-Spanish.pdf&sl=es&tl=en

May be outdated though.

Edbert answered 5/1, 2009 at 21:38 Comment(0)
H
1

reinCRUD is a vaadin add-on which works using annotated hibernate entities. You can create a CRUD application within a few minutes and you can re-use components like lists, forms and search forms.

Haveman answered 21/1, 2011 at 15:28 Comment(0)
B
0

If you have an example project containing the kind of CRUD (or whatever) architecture you want, then Simple Scaffolding might be a useful approach.

It's a single class that scans your existing code base and creates templates which you can then apply to other entities. For example, MongoUserDao can be turned into a template which then generates, say, MongoCustomerDao. It works with any code and test fixtures.

Very basic, but gets the job done and it's FOSS under MIT license.

The GitHub repo is here: https://github.com/gary-rowe/SimpleScaffolding

Buttermilk answered 20/5, 2013 at 14:35 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.