hi, 我想知道有哪些工具可以生成非Ejb的DAO?

最好自动化程度高点, jdo太不方便

* DAO 一般是私有的吧...
* DAO 本来就不是 EJB 所有的吧...

我觉得你可以学学 Velocity, 然后自己写一个代码生成工具。
最好是绑定在一种特定的 IDE 上。这样可以加快开发速度。

好的 IDE,就应该是这种可以支持自扩展的工具

商业版本中toplink好。
hibernate在sourceforge.net上有。

s2j项目--
根据表结构生成valueBean和DAO
I think it's very good.
s2j有个可改进的地方在于使用velocity来做template engine.
这样比较灵活
--btw,我现在正在做这个工作,还差一点。有兴趣可以一起来完善?

Great~~ I'm very interested in your ideas, blues.

实际上这几天我正在重写我的 Web 开发RAD, 里面最需要的就是这样的一个工具。我正在考虑用 Swing 写个 Application 实现可视化的代码生成。主要仿制JBuilder 8 中的 DataModuler。

你说到使用 Velocity 来做,这非常有意思。这样的话,任可人都可以定制自己的代码了,很有创意。

这几天我就开始动手了,你说的 s2j 是在sourceforge.net 上的一个 opensource project 吗?我需要找来借鉴一下。

search sourceforge, there are several DAO gen tools, but normally they generate too much junks that you don't care, but too little for what you want.
Velocity is very easy to use, quite powerful, I use it to generate my special java object from XML model, someone told me FreeMarker is even more flexible, who knows, the other one is XSTL, it's good for simply thing.

to iceant:
找到s2j了吗?(http://www.bitmechanic.com/projects/s2j/)
我是用到s2j中读出db数据结构并构造成内存对象的部分,不过对于你提出来的DataModuler工具,s2j的用处不会很大。

可能我想做的东西跟你说的不太一样。我做的代码生成器是能根据表结构生成DAO,valueBean,cacheManager等比较机械,但又不得不做的代码。而且在使用velocity的过程中发现一个问题,那就是:编写velocity template的过程并不像想象中那样容易被使用者接受。举个例子说,要在template中定义将getname()转换为getName()就需要定义一个函数。实际上是把工作从java中转移到template中了。
另外,我感觉写一个良好的DAO基类,以便使用者可以灵活的扩展自己的DAO很重要。
------关注你的DataModuler大作

有一个Karapan Sapi

http://www.javanovic.com/products/reog.html

struts结构的DAO

我们不仅可以生成DAO层,Business logic layer & Web logic layer同样可以生成。把架构良好的应用程序拿出来,划分出不变性和可变性,用velocity 或 xslt作template,可变性用变量带入,就可以生成架构良好的应用程序。比较困难的地方是在business logic layer,我们可以手动添加代码实现。我们公司就用代码生成器生成框架代码,大大地提高了工作效率,减少了单调的重复劳动。

有人用过hibernate吗?性能如何?有没有大的错误?

TO:Blues

非常感谢你的关注。但是我要说抱歉,因为最近事件较忙,那个项目得暂时放一下。我现在有 GF 了,又要工作,很多时间已经不是我的啦。

:(

"我们不仅可以生成DAO层,Business logic layer & Web logic layer同样可以生成。把架构良好的应用程序拿出来,划分出不变性和可变性,用velocity 或 xslt作template,可变性用变量带入,就可以生成架构良好的应用程序。比较困难的地方是在business logic layer,我们可以手动添加代码实现。"
This is very similar to what I did, good stuff,what's your product's name?

DAO的标准格式是什么?我想写个简单的DAO的生成器,其实如果是类似petstore的是比较简单的,但是感觉select的方法比较头疼。

try middlegen please.

actually hibernate have a middlegen plugin and a Eclipse plugin.
so, it can vary from DB <-> hibernate xml definition <-> java classes <-> web stuffs.

OJB also very good.
It have plugin for code generator too.

Velocity不错,我的数据库有一百多个表,我用velocity写了许多应用模版,比手写能节省我一两周的时间