Raible's Wiki

Raible Designs
Wiki Home
News
Recent Changes

AppFuse

Homepage
  - Korean
  - Chinese
  - Italian
  - Japanese

QuickStart Guide
  - Chinese
  - French
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish
  - Japanese

User Guide
  - Korean
  - Chinese

Tutorials
  - Chinese
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish

FAQ
  - Korean

Latest Downloads

Other Applications

Struts Resume
Security Example
Struts Menu

Set your name in
UserPreferences


Referenced by
Articles
Articles_pt
CreateDAO_es
CreateDAO_pt
CreateDAO_sp
CreateDAOiBATIS
CreateManager
CreateManager_es
CreateManager_ko
CreateManager_zh
...and 3 more




JSPWiki v2.2.33

[RSS]


Hide Menu

CreateDAO


Difference between version 95 and version 94:

At line 170 changed 1 line.
%%note __NOTE:__ Since I get a lot of questions about code-generating the stuff you're doing in these tutorials, I want to make you aware of a user-contributed tool. [Lance Lavandowska|http://brainopolis.com/roller/page/lance] created a [daogen|https://appfuse.dev.java.net/issues/show_bug.cgi?id=60] tool that can be dropped into the "extras" directory and used to generate the DAOs and Managers in this tutorial and the next. If you'd like to use it, you'll likely need to update it for 1.6. The main reason I didn't incorporate it into AppFuse's core is because I don't want to deal with all the support requests for "what did I just generate"? By walking through these tutorials - you should understand how your entire application works. Of course, if someone modified this package for 1.6 and people seem to like it, I may add it in 1.7. ;-)%%
<div class="note" style=">
As part of 1.6.1, I created an __AppGen__ tool that can be used to generate all the classes for the rest of these tutorials. This tool was based on contributions from [Lance Lavandowska|https://appfuse.dev.java.net/issues/show_bug.cgi?id=60] and [Ben Gill|https://appfuse.dev.java.net/issues/show_bug.cgi?id=78]. At first, I didn't want to add a code-generation feature like this b/c you'd end up with a 1-to-1 relationship between tables/pojos, DAOs and Managers. On most of my projects, I have far fewer DAOs and Managers than POJOs.
At line 173 added 12 lines.
By default, AppGen will generate only Actions/Controllers, Action/Controller Tests, test data, i18n keys and JSPs. It will also configure Actions/Controllers for you. It uses the generic BaseManager and BaseDaoHibernate classes (configured as "manager" and "dao") to reduce the number of files that are generated. However, I realize that sometimes you will want to generate all the DAO and Manager classes (as well as their tests), so I've added that option too.
To use the AppGen tool (after installing your web framework), perform the following steps:
# Create your POJO (in the model directory) and [configure the mapping file|CreateDAO#ref-CreateDAO-5] in applicationContext-hibernate.xml.
# cd into the ''extras/appgen'' directory and run "ant -Dobject.name=Person -Dappgen.type=pojo". In this example, the __Person__ class should exist in your "model" package. This generates all the files you create in the tutorials on this site (for your chosen web framework).
# To install the generated files, run "ant install". You can run "ant install -Dmodel.name=Person -Dmodel.name.lowercase=person" if you want to do everything in one fell swoop. The reason for the "lowercase" parameter is to rename the JSPs to begin with a lowercase letter. If I tried to rename them and change the filename programmatically, it took 1MB worth of BSF and Rhino JARs (+5 lines of code) and this just seemed easier.
NOTE: If you'd like to generate all the DAOs/Managers/Tests, run "ant install-detailed" instead of "ant install". Before you install anything, the files will be created in the extras/appgen/build/gen directory (in case you want to look at them before installing). If you just want to test the tool, you can cd to this directory and run "ant test" to see the contents of these tutorials created.
I encourage you to read these tutorials even if you decide to generate all your code. That way you'll understand what's being generated for you and you'll only need to mailing list for [asking smart questions|http://www.catb.org/~esr/faqs/smart-questions.html]. ;-) Hopefully this tool will remove the pain of writing simple CRUD code and let you concentrate on developing your business logic and fancy UIs!</div>

Back to CreateDAO, or to the Page History.