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

相关推荐
好吃的肘子19 分钟前
MongoDB 应用实战
大数据·开发语言·数据库·算法·mongodb·全文检索
weixin_4723394628 分钟前
MySQL MCP 使用案例
数据库·mysql
lqlj22331 小时前
Spark SQL 读取 CSV 文件,并将数据写入 MySQL 数据库
数据库·sql·spark
遗憾皆是温柔2 小时前
MyBatis—动态 SQL
java·数据库·ide·sql·mybatis
未来之窗软件服务2 小时前
Cacti 未经身份验证SQL注入漏洞
android·数据库·sql·服务器安全
fengye2071613 小时前
在MYSQL中导入cookbook.sql文件
数据库·mysql·adb
Ailovelearning3 小时前
neo4j框架:ubuntu系统中neo4j安装与使用教程
数据库·neo4j
_星辰大海乀4 小时前
表的设计、聚合函数
java·数据结构·数据库·sql·mysql·数据库开发
未来之窗软件服务5 小时前
solidwors插件 开发————仙盟创梦IDE
前端·javascript·数据库·ide·仙盟创梦ide
yc_12245 小时前
SqlHelper 实现类,支持多数据库,提供异步操作、自动重试、事务、存储过程、分页、缓存等功能。
数据库·c#