临时表和spring配合查询

1、定义合同临时表。
定义所有合同临时表(TH_ALL_TEMP_CUST_AGRMT),该表包括IDC合同和普通合同的基本信息。
2、在执行查询商机列表数据前,将所有合同数据插入到所有合同临时表。
导出商机方法伪代码如下:
(1) 将IDC合同数据插入到所有合同临时表中。
(2) 将普通合同数据插入到所有合同临时表中。
在将不同类型的合同表插入到合同临时表中时,请使用insert into select 语句。
例如:insert into 合同临时表(a,b) select (c,d) from 实际合同表(IDC合同表或普通合同表)。
(3)必须使用同一个数据库链接,执行查询方法,sql片段:…商机表(TM_SAL_OPP_SEPC)  LEFT JOIN 所有合同临时表(TH_ALL_TEMP_CUST_AGRMT)…
以下为“我的商机”导出sql语句:

修改后sql:
LEFT JOIN TH_ALL_TEMP_CUST_AGRMT d ON (d.agrmt_code = c.contract_id)

(4)在获取商机列表数据后,throw 自定义异常(OppException),将查询结果通过异常的构造函数赋给异常的Object属性。

注:向所有合同临时表中插入数据方法,最好单写一个功能方法,该功能方法的参数为数据集合,数据集合中为所有合同临时表的实体。今后如果再有新类型的合同需要保存到所有合同临时表时,新类型的实体需要继承所有合同临时表的实体。

注:OppException集成Exception,OppException需要存在一个Object对象的属性。

注:在抛出异常后,service事务将回滚,临时表中的数据将清空。在上层方法中处理异常中的查询结果(Object)。

(5)在调用service方法的上层方法中,处理捕获的OppException异常,将异常中的结果强转成需要的目标对象,绘制列表数据。

你可能感兴趣的:(spring)