`
isiqi
  • 浏览: 16084766 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Flex 类DataWindow实现

阅读更多

目标:完成类似PowerBuilder Datawindow的功能,即通过设计时配置datawindow的更新属性(更新哪张表、更新哪些列、哪些是主键、采用主键策略还是主键加更新列策略),datawindow中的任何数据变动都可以通过datawindow的update函数或者pfcsave函数直接提交到数据库。

适应人员:熟悉Powerbuilder、web编程和flex的相关人员。

名词定义:

JavaDW:java端的datawindow,具有遍历数据、查找数据、提交数据等功能;

FlexDW:flex datagridview的扩展,具有updateTable, updatePolicy属性;

FlexDWColumn:FlexDWColumn继承AdvancedDataGridColumn,具有updated、pk属性;

实现方案

1. 定义FlexDW,用于flex应用查询、编辑数据,通常定义为:

<flexdw id="dw1" width="400" updatetable="table1" updatepolicy="pk"></flexdw>

<columns></columns>

<flexdwcolumn headertext="id" datafield="id" pk="true"></flexdwcolumn>

<flexdwcolumn headertext="sex" datafield="sex" updated="true"></flexdwcolumn>

<flexdwcolumn headertext="time" datafield="time" updated="true"></flexdwcolumn>

<flexdwcolumn headertext="age" datafield="age" updated="true"></flexdwcolumn>

<flexdwcolumn headertext="name" datafield="name" updated="false"></flexdwcolumn>

即表示该datawindow需要更新table1的数据,datawindow除了name列都需要更新,主键为id,更新策略为主键。

2. 建立FlexDW与JavaDW的映射关系,处理好下述几点:

1) FlexDW的数据显示与JavaDW中存放的数据要一致;

2) 处理任何业务之前,一定要确保FlexDW的数据变动同步到了JavaDW;

3. JavaDW数据查询、提交的实现

1) FlexDW要显示哪些数据,当然开发人员需要指定sql语句和sql参数,JavaDW根据sql语句和sql参数及数据库连接信息便可查询数据;JavaDW查询要做的事情有:处理sql语句和参数;执行jdbc查询;resultset映射成map或者bean处理;

2) JavaDW数据提交的自动实现

JavaDW应该有一个save方法,其能根据FlexDW配置的数据更新信息和FlexDW的编辑数据自动产生insert、update和delete的sql语句,并提交数据库,同时进行统一的事务管理。

好处:

1) 统一的数据库操作管理,开发人员可以更注重业务处理,而无需考虑数据并发控制等系统问题;

2) 统一的开发流程,便于提高代码质量:代码审核人员只要关注你的JavaDW设置是否有问题即可确保数据提交是否有问题;

3) 大大减轻开发人员数据库访问代码。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics