有关数据库相关程序设计的几点总结
1 设计数据库操作相关的函数或者方法时,把数据库连接做为参数传入,而不是作为模块的全局变量,或者在函数中自己new一个,可获得更大的灵活性和,数据库连接的复用性!
2 设计数据库操作为核心的模块时候,对数据模块进行一定的封装,为模块提供统一的唯一的调用入口(活极少数入口),可在某些时候获得比较大的编程简洁性。
(案例):抽奖活动的webLottery模块,模块内包含多个数据库操作已经事务行为,为了:
1,在服务期间始终提供一个活跃的链接(模块内全局变量)
2,不使用数据库连接池
3,不大范围改动原来的程序
需要添加一个数据连接的 keepAlive方法,在每次正式使用 数据困connection,检测一下是否活跃,如果超时连接被自动关闭,则重建一个链接(这些逻辑在keepAive中完成)。
由于webLottery模块提供了一个统一的调用入口serve,则 keepAlive 的代码只需要加如刀serve 的逻辑中,就可保证全模块的数据库操作链接的有效性。