免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3639 | 回复: 6
打印 上一主题 下一主题

用 hibernate 和 xdoclet 开发 数据库应用程序 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-06-14 21:04 |只看该作者 |倒序浏览
前两天 xdoclet 发布了版本 1.2b3,里面包含了 hibernate 的自动生成 mapping file 的 module
今天试了试,居然成功了,很有意思。



用 hibernate 和 xdoclet 开发的流程如下:

  1.写 Persistent class,并在 源程序里写上一些 hibernate 的 tag

  2.用 xdoclet 根据 Persistent class 里的 tag 自动生成 mapping file

  3.用 Hibernate 提供的 SchemaExport 类生成 数据库建表的 ddl

然后就不用考虑数据库的细节啦,哈哈。

中文的一篇文档:

值得关注的持久化技术: hibernate
http://www.huihoo.com/java/hibernate/


这里有老外写的详细的文档,介绍 hibernate 和 xdoclet ,里面也包含了代码下载:
  http://www.meagle.com:8080/hibernate.jsp  


我自己学习过程中也写了一个 demo,用 ant 运行,来我的 ftp 下载:

  ftp://cinc.3322.org/pub/doc/code/hibernate/

    hibernatedemo_20030622.zip          是没用 xdoclet 的例子
    hibernate_xdoclet_demo_20030614.zip 是使用 xdoclet 的例子
    HibernateExamplesMeagle.zip         Meagle 那个网站的例子


hibernate:
http://sourceforge.net/projects/hibernate/

xdoclet:
http://sourceforge.net/projects/xdoclet/

论坛徽章:
0
2 [报告]
发表于 2003-06-18 15:44 |只看该作者

用 hibernate 和 xdoclet 开发 数据库应用程序

Hi, I tried to download your sample code for using hibernate+xdoclet, but couldn't find your ftp site, I assume that it's down?would you pls send your code to the following mailbox?
xxmouse@hotmail.com,
thank you in advance

论坛徽章:
0
3 [报告]
发表于 2003-06-18 17:27 |只看该作者

用 hibernate 和 xdoclet 开发 数据库应用程序

the source code is a bit large.

try this ip:

ftp://210.52.88.133

论坛徽章:
0
4 [报告]
发表于 2003-06-19 23:45 |只看该作者

用 hibernate 和 xdoclet 开发 数据库应用程序

cinc

昨天才发现这个坛子, 觉得挺好的.  相信一定是只潜力股.

我已经下了你的文件, 试了一下,  不过我还是花了一点时间改了一下build.xml.  同时也把相应的包拷过来, 最后就可以转起来了. 现在正准备找找Hibernate 与 CMP 的差别.

再次感谢您的帮助, 希望以后大家能多交流.

论坛徽章:
0
5 [报告]
发表于 2003-06-20 09:07 |只看该作者

用 hibernate 和 xdoclet 开发 数据库应用程序

呵呵,多谢夸奖,多来捧场哦。

那个包应该就可以运行乐啊。你还拷贝乐哪些包过来,说说看。

我所有的包都放在 lib 目录下的,包括 hibernate ,xdoclet 和其他,我的运行环境是:

jdk    1.4.1
mysql  4.0
ant    1.5.3

hibernate 2.0
xdoclet 1.2b3-dev
xdoclet hibernate module 1.2b3-dev

多交流,呵呵。
:)

论坛徽章:
0
6 [报告]
发表于 2003-06-23 21:42 |只看该作者

用 hibernate 和 xdoclet 开发 数据库应用程序

你好, cinc

看了你的例子和http://www.huihoo.com/java/hibernate/ 的例子, 觉得你的要丰富很多, 而且他那边没有解决在ant 中运行java命令的问题. 你这边就没有这个问题.  佩服!

我把你的build.xml 改为
<?xml version="1.0"?>;

<project default="build" basedir=".">;

    <property name="appname" value="Helloworld" />;
    <property name="base" value="." />;
    <property name="src" value="src" />;
    <property name="db" value="db" />;
    <property name="lib" value="lib" />;
    <property name="build" value="classes" />;
    <property name="mysql.batch" value="${base}/db/schema.bat"/>;
    <property name="mysql.schema" value="${base}/db/mysql.sql"/>;
    <property name="myclasspath" value="${build}" />;
   
    <path id="myclasspath">;
        <fileset dir="${lib}">;
            <include name="*.jar"/>;
        </fileset>;
        <pathelement location="${build}"/>;
    </path>;
   
    <target name="build">;
        <echo message="delete begin..." />;
        <delete includeEmptyDirs="true">;
          <fileset dir="${build}"/>;
        </delete>;
        <mkdir dir="${build}" />;
        <javac classpathref="myclasspath" srcdir="${src}" destdir="${build}">;
            <include name="**/*.java" />;
        </javac>;
        <copy todir="${build}" >;
            <fileset dir="src/java" >;
                <exclude name="**/*.java"/>;
            </fileset>;
        </copy>;
        
        
        <echo message="database.." />;
        <java classname="net.sf.hibernate.tool.hbm2ddl.SchemaExport" fork="true">;
            <classpath refid="myclasspath"/>;
            <arg value="--text"/>;
            <arg value="--output=db/schema.sql"/>;
            <arg value="--properties=src/java/hibernate.properties"/>;
            <arg value="--delimiter=;"/>;
            <arg value="src/java/bean/*.xml"/>;
        </java>;
        
        <echo message="create database schema..." />;
        <exec executable="${mysql.batch}">;
            <arg file="${mysql.schema}" />;
        </exec>;
        
        <echo message="run..." />;
        <java classname="ui.Main" fork="true">;
            <classpath refid="myclasspath"/>;
        </java>;
        
        <java classname="dao.hibernate.AllTests" fork="true">;
            <classpath refid="myclasspath"/>;
        </java>;
        
    </target>;

原因是按你那样写target, 我不知为什么运行ant到 </copy>;那行就结束了. 不知你是否以前有这样的问题?

很久都没有碰java那些东西了, 已经在落伍了, 今后我一定常到这里, 真心希望这里越来越好.

论坛徽章:
0
7 [报告]
发表于 2004-02-11 14:33 |只看该作者

用 hibernate 和 xdoclet 开发 数据库应用程序

我不能下你的例子,可以给发一份吗?谢谢!
clm1668@hotmail.com
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP