熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

Struts + Hibernate 代碼生成器設計思路

2013-11-23 20:10:48  來源: Java開源技術 

  設計目的大批量程序代碼生成 為了達到這個目的我們在做系統軟件時基本一個業務邏輯對應一張表
  
  實現手段)從現有的數據庫中導出所需要的所有表和字段到一個XML文件不直接生成代碼的原因是可以手工修改這個XML文件當然也可以直接手工建立一個XML邏輯文件 這樣就可以很靈活
  
  然後再跟據XML生成相應程序源代碼!!
  
  此外還可以跟據XML文件生成數據庫說明文當
  
  不足之處表之間的父子關系等功能還沒有這點目前還得手工作代碼
  
  根據數據庫中生成的XML文件
  <?xml version= 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= encoding=GBK?>
  <! edited with XMLSPY v rel U () by frank (frank inc) >
  <database>
  <
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28077.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.