在福斯数据服务平台的设计中,笔者把所有的资源和操作都定义成了服务接口,数据操作无外乎:增(INS)、删(DEL)、改(UPD)。
把操作定义成服务接口的好处无非就是:统一定义、集中管理。开发者无需过分关注数据库的操作细节、SQL的编写,只需要定义服务接口即可。
更新的套路
本文中,更新模式有哪些呢:(1)单列更新、(2)多列更新、(3)自增(4)更新时间(5)LOB字段的更新。
(1)(2)单列更新和多列更新为常规的更新,在此不再赘述
其接口调用所需参数为:
ut_id 定义的更新模板id
pkval 目标记录的主键值
cols 更新的目标列名
vals 更新的目标列值
(3)自增列适用于数值字段的更新,例如:更新点击量、销量、登录次数、库存等,都可以使用该模式
其接口调用所需参数为:
ut_id 定义的更新模板id
pkval 目标记录的主键值
col 更新的目标列名(为数值列)
delta 增加值(可为正负)
(4)更新时间,适用于时间日期字段的更新,例如:更新最后访问时间、更新时间
其接口调用所需参数为:
ut_id 定义的更新模板id
pkval 目标记录的主键值
col 更新的目标列名(为日期时间类型)
(5)LOB字段的更新,适用于CLOB、BLOB字段(不同数据库系统还各有不同),例如:CMS系统的内容发布、上传文件需要保存到数据库等
其接口调用所需参数为:
ut_id 定义的更新模板id
pkval 目标记录的主键值
col 更新的目标列名(LOB字段)
val 更新的列值(文本块)
使用场景:更新产品点击量的场景
(1)用户从列表页,点击链接,查看详情
(2)通过ajax方式调用更新点击量的Controller,如果返回操作OK则跳转到详情页,否则提示错误
(3)Controller中通过HTTPClient调用更新接口,传入:接口id,产品id(主键),HITNUM(列名)和delta值(1)
接口返回1个JSON对象内容,该内容可以直接反馈给页面调用方。
总结
无需关注数据库访问、无需关注SQL如何编写,无需考虑接口的安全控制。
通过本地代理Controller访问数据服务平台,通信可靠,数据透明。