WZW.SqlMapHelpForJava是运行在.Net Framework4.0上的数据库持久层基础文件生成工具,支持多种关系型数据库的持久层基础文件、Java类的生成以及对配置文件的更新,与webf框架进行紧密配合,减少了数据库持久层基础文件编写工作量,提高持久层代码的有效及准确性。 WZW.SqlMapHelpForJava对单表操作的支持较好,对于多表或视图操作有所欠缺,为了弥补不足和配合webf开发框架使用,在生成的实体类中都增加了set和get属性,当对实体类要附加其他属性时可以使用set和get来完成,属性值以HashMap进行存储。
配置信息保存在Config.xml中,主要用于配置数据库连接、持久层文件夹、持久层对应的配置文件路径、生成规则以及数据字段与Java类型的映射。一般只需要进行配置数据库连接、持久层文件夹、持久层对应的配置文件路径即可。
配置数据库连接信息,db节点中的selected属性为true时表示使用的是当前数据库连接。
节点:config/dblist/db
<dblist>
<db>
<key name="DB_TYPE" value="access" description="access数据库,要对MSysObjects表有操作权限" />
<key name="PASSWORD" value="" description="登录密码" />
<key name="DATABASE" value="c:\data\webf.mdb" description="数据库" />
</db>
<db>
<key name="DB_TYPE" value="mssql" description="mssql数据库" />
<key name="SERVER" value="." description="服务器地址" />
<key name="PORT" value="1433" description="服务器端口" />
<key name="USER_NAME" value="sa" description="登录名" />
<key name="PASSWORD" value="sa" description="登录密码" />
<key name="DATABASE" value="webf" description="数据库" />
</db>
<db>
<key name="DB_TYPE" value="oracle" description="oracle数据库" />
<key name="USER_NAME" value="demo" description="登录名" />
<key name="PASSWORD" value="demo" description="登录密码" />
<key name="DATABASE" value="127.0.0.1" description="oracle的Net服务名" />
<key name="SCHEMA" value="" description="属于哪一个用户模式,为空则是登录名对应的模式,否则是其他用户模式" />
</db>
<db selected="true">
<key name="DB_TYPE" value="mysql" description="mysql数据库" />
<key name="SERVER" value="127.0.0.1" description="服务器地址" />
<key name="PORT" value="3306" description="服务器端口" />
<key name="USER_NAME" value="root" description="登录名" />
<key name="PASSWORD" value="root" description="登录密码" />
<key name="DATABASE" value="webf" description="数据库" />
</db>
<db>
<key name="DB_TYPE" value="dm" description="dm数据库" />
<key name="SERVER" value="127.0.0.1" description="服务器地址" />
<key name="PORT" value="12345" description="服务器端口" />
<key name="USER_NAME" value="easy119" description="登录名" />
<key name="PASSWORD" value="easy119" description="登录密码" />
<key name="DATABASE" value="easy119" description="数据库" />
</db>
</dblist>
配置持久层文件夹目录及对应的配置文件路径,便于根据持久层文件夹目录中的文件更新配置文件内容。
节点:config/net
<net>
<key name="DB" value="db1" description="哪个数据库,如:db1" />
<key name="BEANS_FILEPATH" value="E:\proj\PERSON\webf\trunk\src\webf\src\com\data\db1\beans.xml" description="beans.xml配置文件路径" />
<key name="MYBATIS_CONFIG_FILEPATH" value="E:\proj\PERSON\webf\trunk\src\webf\src\com\data\db1\mybatis.xml" description="mybatis配置文件路径" />
<key name="DAO_FOLDER_PATH" value="E:\proj\PERSON\webf\trunk\src\webf\src\com\data\db1\dao" description="工程中Dao文件夹目录" />
<key name="SQLMAP_FOLDER_PATH" value="E:\proj\PERSON\webf\trunk\src\webf\src\com\data\db1\sqlmap" description="工程中SqlMap文件夹目录" />
</net>
根据持久层基础文件生成需求,可以自定义一些生成规则: (1)IS_GENERATE_VIEW_CLASS:是否生成视图的持久层文件; (2)IS_GENERATE_SQL_CLASS:是否生成通用SQL操作类,便于根据SQL语句进行JDBC操作; (3)IS_GENERATE_ORDER_BY_PRIMPARY_KEY_DESC:是否生成默认排序,按主键降序排列显示; (4)PARTITION_FIELD_NAME:分区标识字段名称,仅用于分区存储(时间分区时要为主键)处理,插入与更新记录时不做处理。
节点:config/rule
<rule>
<key name="IS_GENERATE_VIEW_CLASS" value="false" description="是否生成视图类" />
<key name="IS_GENERATE_SQL_CLASS" value="true" description="是否生成SQL通用类" />
<key name="IS_GENERATE_ORDER_BY_PRIMPARY_KEY_DESC" value="true" description="是否生成默认排序,按主键降序排列显示" />
<key name="PARTITION_FIELD_NAME" value="ptime" description="分区标识字段名称,仅用于分区存储(时间分区时要为主键)处理,插入与更新记录时不做处理,MySQL:ptime datetime default current_timestamp,primary key(id,ptime)" />
</rule>
当在Config.xml配置好数据库连接以及持久层文件夹目录及对应的配置文件路径后便可以使用生成工具进行文件生成操作与更新配置文件操作了。
在使用生成工具前,生前工具中有如下文件:template中主要是模板文件、Config.xml为配置文件、WZW.SqlMapHelpForJava.exe为运行文件,如下图所示:
(1)运行WZW.SqlMapHelpForJava.exe;
(2)点击【载入表】按钮; 如果数据库连接配置正确且数据库运行正确,点击载入表显示如下界面: