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应用查询、编辑数据,通常定义为:

即表示该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) 大大减轻开发人员数据库访问代码。

你可能感兴趣的:(sql,数据库,jdbc,Flex,insert,PowerBuilder)