webf 开发工具:数据库持久层基础文件生成工具

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)点击【载入表】按钮;

如果数据库连接配置正确且数据库运行正确,点击载入表显示如下界面:

(3)选中"sys_user"前的复选框;

(4)点击【生成基础文件】按钮;

完整阅读:http://www.laobingbiji.com/page/202406041154200000000010721519.html

相关推荐
威哥爱编程几秒前
SQL Server 数据太多如何优化
数据库·sql·sqlserver
小华同学ai2 分钟前
AJ-Report:一款开源且非常强大的数据可视化大屏和报表工具
数据库·信息可视化·开源
Acrelhuang23 分钟前
安科瑞5G基站直流叠光监控系统-安科瑞黄安南
大数据·数据库·数据仓库·物联网
Mephisto.java34 分钟前
【大数据学习 | kafka高级部分】kafka的kraft集群
大数据·sql·oracle·kafka·json·hbase
Mephisto.java36 分钟前
【大数据学习 | kafka高级部分】kafka的文件存储原理
大数据·sql·oracle·kafka·json
十叶知秋1 小时前
【jmeter】jmeter的线程组功能的详细介绍
数据库·jmeter·性能测试
瓜牛_gn3 小时前
mysql特性
数据库·mysql
奶糖趣多多4 小时前
Redis知识点
数据库·redis·缓存
CoderIsArt5 小时前
Redis的三种模式:主从模式,哨兵与集群模式
数据库·redis·缓存
师太,答应老衲吧7 小时前
SQL实战训练之,力扣:2020. 无流量的帐户数(递归)
数据库·sql·leetcode