1、设计目的:大批量程序代码生成。 为了达到这个目的,我们在做系统软件时,基本一个业务逻辑对应一张表。
2、实现手段:(1)从现有的数据库中导出所需要的所有表和字段到一个XML文件,不直接生成代码的原因是可以手工修改这个XML文件。当然,也可以直接手工建立一个XML逻辑文件. 这样就可以很灵活。
然后再跟据XML生成相应程序源代码!!
此外,还可以跟据XML文件生成数据库说明文当。
3、不足之处,表之间的父子关系等功能还没有,这点目前还得手工作代码。
一、根据数据库中生成的XML文件
<?xml version="1.0" encoding="GBK"?
<database
<databasenameinner_web</databasename
<databasename_cn[inner_web]</databasename_cn
<table
<tablenameauth</tablename
<tablename_cn[auth]</tablename_cn
<field
<fieldnameid</fieldname
<fieldname_cn[id]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnameparentId</fieldname
<fieldname_cn[parentId]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnamename</fieldname
<fieldname_cn[name]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnamecreateDate</fieldname
<fieldname_cn[createDate]</fieldname_cn
<jsptypedatetime</jsptype
</field
</table
<table
<tablenamerole</tablename
<tablename_cn[role]</tablename_cn
<field
<fieldnameid</fieldname
<fieldname_cn[id]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnamename</fieldname
<fieldname_cn[name]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnameauthId</fieldname
<fieldname_cn[authId]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnamecreateDate</fieldname
<fieldname_cn[createDate]</fieldname_cn
<jsptypedatetime</jsptype
</field
</table
<table
<tablenameteam</tablename
<tablename_cn[team]</tablename_cn
<field
<fieldnameid</fieldname
<fieldname_cn[id]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnameparentId</fieldname
<fieldname_cn[parentId]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnamename</fieldname
<fieldname_cn[name]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnamecreateDate</fieldname
<fieldname_cn[createDate]</fieldname_cn
<jsptypedatetime</jsptype
</field
</table
<table
<tablenameuser</tablename
<tablename_cn[user]</tablename_cn
<field
<fieldnameid</fieldname
<fieldname_cn[id]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnamename</fieldname
<fieldname_cn[name]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnameregisterName</fieldname
<fieldname_cn[registerName]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnamesex</fieldname
<fieldname_cn[sex]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnameage</fieldname
<fieldname_cn[age]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnamepassWord</fieldname
<fieldname_cn[password]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnameaddress</fieldname
<fieldname_cn[address]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnamephone</fieldname
<fieldname_cn[phone]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnamefax</fieldname
<fieldname_cn[fax]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnameemail</fieldname
<fieldname_cn[email]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnamehomepage</fieldname
<fieldname_cn[homepage]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnamequestion</fieldname
<fieldname_cn[question]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnameanswer</fieldname
<fieldname_cn[answer]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnameip</fieldname
<fieldname_cn[ip]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnameteamId</fieldname
<fieldname_cn[teamId]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnameroleId</fieldname
<fieldname_cn[roleId]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnameoutDate</fieldname
<fieldname_cn[outDate]</fieldname_cn
<jsptypedate</jsptype
</field
<field
<fieldnamecreateDate</fieldname
<fieldname_cn[createDate]</fieldname_cn
<jsptypedatetime</jsptype
</field
<field
<fieldnamecompany</fieldname
<fieldname_cn[company]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnameOffice</fieldname
<fieldname_cn[office]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnamecompanyAddress</fieldname
<fieldname_cn[companyAddress]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnameposition</fieldname
<fieldname_cn[position]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnameuserGrade</fieldname
<fieldname_cn[userGrade]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnamebusinessGrade</fieldname
<fieldname_cn[businessGrade]</fieldname_cn
<jsptypetext</jsptype
</field
<field
<fieldnameisBusiness</fieldname
<fieldname_cn[isBusiness]</fieldname_cn
<jsptypetext</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
<