大峡-华山论剑

一心一意做技术

蔡世友ID:easyjf
297279次访问,排名162好友0人,关注者12
easyjf的文章
原创 194 篇
翻译 0 篇
转载 2 篇
评论 636 篇
最近评论
wangzepen:http://www.zzGps.cn 在线技术视频

http://www.ZzGps.Cn/bbs/index.asp 技术视频下载

技术视频提供,分类清晰,技术覆盖面广,几千视频助您轻松学习
psnccs:Wow gold
fireflyc:JPA这个东西是万金油,好用。
马上入社的人:各位前辈,大家好!
我今天才看到你们的讨论!其实,最近一年来,我也一直感到迷茫!作为一个计算机应用的学生,在大学学的一些技术(Java Web开发),是自己努力学习的。老师,真不想说!给我们的帮助太少了!真的。总之,自己在不停地努力学习着!
前途!我们每个人都在思索着自己的人生!当我们感到不知所做时,我们迷茫!我们无奈!这也困扰着我!我也一直在思考着路该怎么走……
masuwen:首先声明我是一名学生,随着人们需求量的扩张,想满足大众的要求,还需要你们更加努力。
你们辛苦了。
文章分类
收藏
    相册
    我的朋友们
    开源人
    解惑
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 EasyJWeb Tools中代码自动生成引擎详解收藏

    新一篇: lucene全文检索应用示例及代码简析

      在EasyJWeb-0.6.0推出来以后,很多网友对其中的代码生成部分非常感兴趣,并来信问了一些如何使用easyjwebtools、如何支持多表生成、生成页面的定制、业务逻辑的定制等很多问题。下面以我自己的理解,简单介绍一下EasyJWeb Tools中的代码生成的应用方法及展望。

    一、快速体验及上手

      EasyJWeb考虑到国内存在很多Java初学者的情况,因此代码书写及发布方式力求简单明了,让新手也能快速上手。在发布的0.6.0版本中,不但实现了ant及maven来管理项目发布,还初步实现了代码生成引擎中的部分功能。你可以在下载了EasyJWeb项目的源代码后,花上不到两分钟即实现一个添删改查及分页的Java Web代码生成、编译及打包发布等过程。整个过程只需要下载EasyJWeb源码->建表->改数据源配置文件->执行生成命令easyjwebtools->然后运行即可。详细步骤如下:
      1、 下载EasyJWeb最新版本
      http://www.easyjf.com/easyjweb/download.htm
      2、建立数据库及数据表
      使用My SQL或MS SQL数据库,建一个库,然后建一个表,比如message(留言板)。由于EasyJWeb Tools业务引擎中使用的是ORM系统访问数据库,因此要求每个表都设置一个名为cid的、类型为varchar(16)的主键字段,然后就是其它的一些需要使用的字段。如下面我写的示例表:
    CREATE TABLE `message` (
      `cid` varchar(16) NOT NULL,
      `title` varchar(100) NOT NULL,
      `inputUser` varchar(16) default NULL
      `inputTime` datetime default NULL,
      PRIMARY KEY  (`cid`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    生成的添删改查及分页代码缺省情况下使用EasyJF团队开发的超轻量级ORM框架EasyDBO访问数据库。当然你可以根据自己的情况选择其它的ORM系统,如hibernate、iBatis等。

      3、修改数据库访问配置文件
      EasyJWeb Tools中代码生成引擎当前是根据数据表的字段名来生成的代码。因此,要能正确运行该程序,必须保证数据库的连接配置参数设置正确。我们只需要修改下载源码中的src\main\easyjf-dbo.xml文件即可。关于EasyDBO的配置说明,请看本人的《EasyDBO配置文件easyjf-dbo.xml详细说明》这篇文章,地址:http://www.easyjf.com/html/20060427/31970563-6771387.htm
      
      4、运行easyjwebtools命令
      通过开始菜单的运行栏中输入cmd。然后使用cd命令切换到EasyJWeb源码解压目录的bin目录。
      然后输入easyjwebtools <表名>
      在提示按任意键后,找到键盘上的任意键(呵呵)按一下。直到看到Build Successful的栏式。完成后就到EasyJWeb解压目录中生成release目录,里面有一个打包好的easyjf-jweb-0.6.war文件,把该文件拷到Tomcat 的webapps目录下。然后启动Tomcat即可。
      
    二、多表生成
       在实际应用中,我们只有一张表的情况下少之又少。而且不可能每生成一张表的添删改查就打一个War包,这不是很搞笑吗?
       EasyJWeb Tools中的单表生成只是为了提供一个快速的应用体验。因此,easyjwebtools这个批处理命令是把编译、生成、再编译打包发布等过程全部集中一起的。大家可以用编辑器打开bin目录中的easyjwebtools.bar这个文件,注释(或者删除)掉其中的call build.bat compile,call build.bat war两行。这样在执行easyjwebtools这个批处理的时候就只完成代码生成功能而不会执行编译及打包发布的过程了。
    多表生成只需要先编译一下EasyJWeb项目源代码。然后再重复执行easyjwebtools生成每一个表的添删改查,最后再执行一个重新编译及打包发布命令。
      在命令行操作的整个过程如下:
       编译:build compile
      然后重复:easyjwebtools <表1>
           easyjwebtools <表2>
                  …
                  easyjwebtoosl <表n>
      最后执行打包发布:build war

    三、代码生成引擎的展望
      在实际的项目中,我们的应用是比较复杂的,而且在代码生成的时候还会有很多具体的需求,比如:
      1、我们会涉及到成百上千的数据表。
      2、 而且这些数据表还有着各种各样的联系,如主从关系、外键约束、关联等,很多表还要支持延迟加载(lazy load)等功能。
      3、 操作不会只是简单的添删改查,还会有更多的商业逻辑。
      4、 在生成基于hibernate等ORM系统的时候,还要生成相关的配置文件。
      5、 还需要更多的选择及互动操作。
      另外,代码生成引擎还要考虑很多问题,如页面的可维护性、生成后的代码当需求改变的时候重新生成、生成代码的可扩展性、可维护性等等。生成的方式、代码风格、页面样式等都要求提供给用户自由选择与定制的支持。
      提供一个可视化的用户交互界面,而非命令行,使用UML建模,然后根据UML模型有选择的生成表结构、生成相关代码、测试代码、生成各种页面文件,并且打包发布。理想的情况下,代码生成引擎完成一个项目的70%以上重复烦硕的代码书写工作。程序员要做的,就是在生成后的代码或页面上做一些个性化的功能需求或设置。
      提供简易、快速的J2EE应用程序开发解决方案,这就是EasyJWeb Tools将来的奋斗目标。EasyJWeb是开源的项目,任何会说汉语的人都可以参与进来,在此诚邀有兴趣的朋友一起来为EasyJWeb Tools的目标而奋斗。


     

    发表于 @ 2006年06月28日 10:31:00|评论(loading...)|编辑

    旧一篇: 世界杯与国产开源(五)-“君子剑”

    评论

    #King 发表于2006-06-28 13:14:00  IP: 202.106.86.*
    不错,和我有相同想法,我们做的项目有很多功能是重复编写代码,把这些东西用程序自动写出来一直是我的一个理想,目前只是实现了一部分,主要是没时间做。比较惭愧!
    #fishkey 发表于2007-01-10 19:31:23  IP: 61.51.159.*
    最近在研究这个.代码自动生成.想加入近来.不知道是否可以?
    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © 大峡