?? 首先是
数据表和java类之间的转换规则,数据库以oracle举例,我一般的命名方式是这样,表的名字是 表前缀_表含义 这种,比如手机杂志项目有个文章表,表的名字就叫做magazine_article,而类的名字就叫做magazinearticle,字段也是一样,比如有个字段叫做article_title,相应的变量名就是articletitle。当然这些规则以后是可以手动修改的。??? 接着就是考虑生成代码需要获取的信息,这些信息当然是最好保存在配置文件里,比如可以定义如下xml文件:
<div class='codearea xml'><div style='color: #000000;'><br/><font color='#0000ff'><</font>?<font color='#a52a2a'>xml</font>?<font color='#ff0000'>version</font>=<font color='#000000'>"1.0"</font>?<font color='#ff0000'>encoding</font>=<font color='#000000'>"gb2312"</font>?<font color='#0000ff'>></font><br/><font color='#0000ff'><</font><font color='#a52a2a'>auto</font>-<font color='#a52a2a'>coder</font>?<font color='#a52a2a'>comment</font>=<font color='#000000'>"代码生成器配置文件"</font><font color='#0000ff'>></font><br/>?<font color='#0000ff'><</font><font color='#a52a2a'>file</font>-<font color='#a52a2a'>path</font>?<font color='#a52a2a'>comment</font>=<font color='#000000'>"生成代码保存的路径"</font><font color='#0000ff'>></font><font color='#a52a2a'>gen</font><font color='#0000ff'></</font><font color='#a52a2a'>file</font>-<font color='#a52a2a'>path</font><font color='#0000ff'>></font><br/>?<font color='#0000ff'><</font><font color='#a52a2a'>
database</font>?<font color='#a52a2a'>comment</font>=<font color='#000000'>"数据库配置"</font><font color='#0000ff'>></font><br/>??<font color='#0000ff'><</font><font color='#a52a2a'>driver</font><font color='#0000ff'>></font><font color='#a52a2a'>oracle</font>.<font color='#a52a2a'>jdbc</font>.<font color='#a52a2a'>driver</font>.<font color='#a52a2a'>oracledriver</font><font color='#0000ff'></</font><font color='#a52a2a'>driver</font><font color='#0000ff'>></font><br/>??<font color='#0000ff'><</font><font color='#a52a2a'>url</font><font color='#0000ff'>></font><font color='#a52a2a'>jdbc</font>:<font color='#a52a2a'>oracle</font>:<font color='#a52a2a'>thin</font>:@<font color='#a52a2a'>192</font>.<font color='#a52a2a'>168</font>.<font color='#a52a2a'>0</font>.<font color='#a52a2a'>186</font>:<font color='#a52a2a'>1521</font>:<font color='#a52a2a'>testdb</font><font color='#0000ff'></</font><font color='#a52a2a'>url</font><font color='#0000ff'>></font><br/>??<font color='#0000ff'><</font><font color='#a52a2a'>username</font><font color='#0000ff'>></font><font color='#a52a2a'>wap</font><font color='#0000ff'></</font><font color='#a52a2a'>username</font><font color='#0000ff'>></font><br/>??<font color='#0000ff'><</font><font color='#a52a2a'>password</font><font color='#0000ff'>></font><font color='#a52a2a'>a123</font><font color='#0000ff'></</font><font color='#a52a2a'>password</font><font color='#0000ff'>></font><br/>??<font color='#0000ff'><</font><font color='#a52a2a'>dbflag</font>?<font color='#a52a2a'>comment</font>=<font color='#000000'>"是否从数据库读取"</font><font color='#0000ff'>></font><font color='#a52a2a'>false</font><font color='#0000ff'></</font><font color='#a52a2a'>dbflag</font><font color='#0000ff'>></font><br/>?<font color='#0000ff'></</font><font color='#a52a2a'>database</font><font color='#0000ff'>></font><br/>?<font color='#0000ff'><</font><font color='#a52a2a'>templates</font>?<font color='#a52a2a'>comment</font>=<font color='#000000'>"单个数据表模板"</font><font color='#0000ff'>></font><br/>??<font color='#0000ff'><</font><font color='#a52a2a'>template</font><font color='#0000ff'>></font><br/>???<font color='#0000ff'><</font><font color='#a52a2a'>template</font>-<font color='#a52a2a'>type</font><font color='#0000ff'>></font><font color='#a52a2a'>java</font><font color='#0000ff'></</font><font color='#a52a2a'>template</font>-<font color='#a52a2a'>type</font><font color='#0000ff'>></font><br/>???<font color='#0000ff'><</font><font color='#a52a2a'>template</font>-<font color='#a52a2a'>file</font><font color='#0000ff'>></font><font color='#a52a2a'>dao</font>.<font color='#a52a2a'>vm</font><font color='#0000ff'></</font><font color='#a52a2a'>template</font>-<font color='#a52a2a'>file</font><font color='#0000ff'>></font><br/>???<font color='#0000ff'><</font><font color='#a52a2a'>java</font>-<font color='#a52a2a'>package</font><font color='#0000ff'>></</font><font color='#a52a2a'>java</font>-<font color='#a52a2a'>package</font><font color='#0000ff'>></font><br/>???<font color='#0000ff'><</font><font color='#a52a2a'>class</font>-<font color='#a52a2a'>name</font><font color='#0000ff'>></font><font color='#a52a2a'>classnamedao</font>.<font color='#a52a2a'>xml</font><font color='#0000ff'></</font><font color='#a52a2a'>class</font>-<font color='#a52a2a'>name</font><font color='#0000ff'>></font><br/>??<font color='#0000ff'></</font><font color='#a52a2a'>template</font><font color='#0000ff'>></font><br/>?<font color='#0000ff'></</font><font color='#a52a2a'>templates</font><font color='#0000ff'>></font> <br/><br/>?<font color='#0000ff'><</font><font color='#a52a2a'>table</font>-<font color='#a52a2a'>templates</font>?<font color='#a52a2a'>comment</font>=<font color='#000000'>"多个数据表模板"</font><font color='#0000ff'>></font><br/>??<font color='#0000ff'><</font><font color='#a52a2a'>template</font><font color='#0000ff'>></font><br/>???<font color='#0000ff'><</font><font color='#a52a2a'>template</font>-<font color='#a52a2a'>type</font><font color='#0000ff'>></font><font color='#a52a2a'>other</font><font color='#0000ff'></</font><font color='#a52a2a'>template</font>-<font color='#a52a2a'>type</font><font color='#0000ff'>></font><br/>???<font color='#0000ff'><</font><font color='#a52a2a'>template</font>-<font color='#a52a2a'>file</font><font color='#0000ff'>></font><font color='#a52a2a'>create</font>.<font color='#a52a2a'>vm</font><font color='#0000ff'></</font><font color='#a52a2a'>template</font>-<font color='#a52a2a'>file</font><font color='#0000ff'>></font><br/>???<font color='#0000ff'><</font><font color='#a52a2a'>java</font>-<font color='#a52a2a'>package</font><font color='#0000ff'>></</font><font color='#a52a2a'>java</font>-<font color='#a52a2a'>package</font><font color='#0000ff'>></font><br/>???<font color='#0000ff'><</font><font color='#a52a2a'>class</font>-<font color='#a52a2a'>name</font><font color='#0000ff'>></font><font color='#a52a2a'>create</font>.<font color='#a52a2a'>sql</font><font color='#0000ff'></</font><font color='#a52a2a'>class</font>-<font color='#a52a2a'>name</font><font color='#0000ff'>></font><br/>??<font color='#0000ff'></</font><font color='#a52a2a'>template</font><font color='#0000ff'>></font>?<br/>?<font color='#0000ff'></</font><font color='#a52a2a'>table</font>-<font color='#a52a2a'>templates</font><font color='#0000ff'>></font><br/>?<font color='#0000ff'><</font><font color='#a52a2a'>table</font>-<font color='#a52a2a'>file</font>?<font color='#a52a2a'>comment</font>=<font color='#000000'>"要生成的数据表文件"</font><font color='#0000ff'>></font><font color='#a52a2a'>tables</font>.<font color='#a52a2a'>txt</font><font color='#0000ff'></</font><font color='#a52a2a'>table</font>-<font color='#a52a2a'>file</font><font color='#0000ff'>></font><br/><font color='#0000ff'></</font><font color='#a52a2a'>auto</font>-<font color='#a52a2a'>coder</font><font color='#0000ff'>></font>