新闻正文

Struts + Hibernate 代码生成器设计思路

来源:JAVA天堂  JAVA学习者  2007-5-2 02:16:52 网友评论 0 条 字体:[ ] ~我要投稿!

  1、设计目的:大批量程序代码生成。 为了达到这个目的,我们在做系统软件时,基本一个业务逻辑对应一张表。
  
  2、实现手段:(1)从现有的数据库中导出所需要的所有表和字段到一个XML文件,不直接生成代码的原因是可以手工修改这个XML文件。当然,也可以直接手工建立一个XML逻辑文件. 这样就可以很灵活。
  
  然后再跟据XML生成相应程序源代码!!
  
  此外,还可以跟据XML文件生成数据库说明文当。
  
  3、不足之处,表之间的父子关系等功能还没有,这点目前还得手工作代码。
  
  一、根据数据库中生成的XML文件
  <?xml version="1.0" encoding="GBK"?>
  <database>
  <databasename>inner_web</databasename>
  <databasename_cn>[inner_web]</databasename_cn>
  <table>
  <tablename>auth</tablename>
  <tablename_cn>[auth]</tablename_cn>
  <field>
  <fieldname>id</fieldname>
  <fieldname_cn>[id]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>parentId</fieldname>
  <fieldname_cn>[parentId]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>name</fieldname>
  <fieldname_cn>[name]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>createDate</fieldname>
  <fieldname_cn>[createDate]</fieldname_cn>
  <jsptype>datetime</jsptype>
  </field>
  </table>
  <table>
  <tablename>role</tablename>
  <tablename_cn>[role]</tablename_cn>
  <field>
  <fieldname>id</fieldname>
  <fieldname_cn>[id]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>name</fieldname>
  <fieldname_cn>[name]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>authId</fieldname>
  <fieldname_cn>[authId]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>createDate</fieldname>
  <fieldname_cn>[createDate]</fieldname_cn>
  <jsptype>datetime</jsptype>
  </field>
  </table>
  <table>
  <tablename>team</tablename>
  <tablename_cn>[team]</tablename_cn>
  <field>
  <fieldname>id</fieldname>
  <fieldname_cn>[id]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>parentId</fieldname>
  <fieldname_cn>[parentId]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>name</fieldname>
  <fieldname_cn>[name]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>createDate</fieldname>
  <fieldname_cn>[createDate]</fieldname_cn>
  <jsptype>datetime</jsptype>
  </field>
  </table>
  <table>
  <tablename>user</tablename>
  <tablename_cn>[user]</tablename_cn>
  <field>
  <fieldname>id</fieldname>
  <fieldname_cn>[id]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>name</fieldname>
  <fieldname_cn>[name]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>registerName</fieldname>
  <fieldname_cn>[registerName]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>sex</fieldname>
  <fieldname_cn>[sex]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>age</fieldname>
  <fieldname_cn>[age]</fieldname_cn>
  <jsptype>text</jsptype>

  </field>
  <field>
  <fieldname>password</fieldname>
  <fieldname_cn>[password]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>address</fieldname>
  <fieldname_cn>[address]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>phone</fieldname>
  <fieldname_cn>[phone]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>fax</fieldname>
  <fieldname_cn>[fax]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>email</fieldname>
  <fieldname_cn>[email]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>homepage</fieldname>
  <fieldname_cn>[homepage]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>question</fieldname>
  <fieldname_cn>[question]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>answer</fieldname>
  <fieldname_cn>[answer]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>ip</fieldname>
  <fieldname_cn>[ip]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>teamId</fieldname>
  <fieldname_cn>[teamId]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>roleId</fieldname>
  <fieldname_cn>[roleId]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>outDate</fieldname>
  <fieldname_cn>[outDate]</fieldname_cn>
  <jsptype>date</jsptype>
  </field>
  <field>
  <fieldname>createDate</fieldname>
  <fieldname_cn>[createDate]</fieldname_cn>
  <jsptype>datetime</jsptype>
  </field>
  <field>
  <fieldname>company</fieldname>
  <fieldname_cn>[company]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>office</fieldname>
  <fieldname_cn>[office]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>companyAddress</fieldname>
  <fieldname_cn>[companyAddress]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>position</fieldname>
  <fieldname_cn>[position]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>userGrade</fieldname>
  <fieldname_cn>[userGrade]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>businessGrade</fieldname>
  <fieldname_cn>[businessGrade]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  <field>
  <fieldname>isBusiness</fieldname>
  <fieldname_cn>[isBusiness]</fieldname_cn>
  <jsptype>text</jsptype>
  </field>
  </table>
  </database>
  
  二、将数据库中生成的XML文件,改一改,写上表字段的汉字名
  <?xml version="1.0" encoding="GBK"?>
  <!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by frank (frank inc.) -->
  <database>
  <


收藏到ViVi   收藏此页到365Key
上一篇:Hibernate源码中几个包的作用简要介绍
下一篇:结合struts和hibernate谈J2EE架构的数据表示
用户名:新注册) 密码: 匿名评论 [所有评论]
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
本栏搜索
  • Google
   网站首页 -  网站地图 -  技术学习 -  网站投稿 -  帮助中心
Copyright 2003-2008 www.javah.net All Rights Reserved
2008 如果你喜欢本站 请收藏本站 并推荐给你的朋友一起分享