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

相关推荐
云空38 分钟前
《Qt Creator 4.11.1 教程》
数据库·qt
shine_du1 小时前
架构师之路--达梦数据库学习计划
数据库·达梦数据库·dameng
潇潇和多客开源1 小时前
数据库的数据被清除了,该如何恢复?
数据库·oracle
胖头鱼的鱼缸(尹海文)1 小时前
数据库管理-第274期 Oracle Enterprise Manager 24ai新特性一览(20241223)
数据库·oracle
搬码后生仔2 小时前
SQLite 是一个轻量级的嵌入式数据库,不需要安装服务器,直接使用文件即可。
数据库·sqlite
码农君莫笑2 小时前
Blazor项目中使用EF读写 SQLite 数据库
linux·数据库·sqlite·c#·.netcore·人机交互·visual studio
江上挽风&sty2 小时前
【Django篇】--动手实践Django基础知识
数据库·django·sqlite
向阳12182 小时前
mybatis 动态 SQL
数据库·sql·mybatis
胡图蛋.2 小时前
什么是事务
数据库
小黄人软件2 小时前
20241220流水的日报 mysql的between可以用于字符串 sql 所有老日期的,保留最新日期
数据库·sql·mysql