【发布时间】:2012-03-23 01:10:16
【问题描述】:
说,我有一个简单的应用程序,它使用 HDBC 与数据库进行交互。它可以是快照应用程序或命令行应用程序。我想对此有一个通用的看法——不是快照或任何具体的东西。 一个很好的例子是“Real World Haskell”的第 22 章。
所以我会在单独的 DB.hs 文件中隐藏所有与 SQL 相关的函数,例如连接、saveArticle、getArticle 等。所有 DB 函数都将连接句柄作为参数。
现在,我将如何启动一次连接并将其置于一种状态,以便所有这些 DB 函数只使用它而不单独启动连接? 这可能吗?也许我想错了或者考虑到了 OO 概念但是......我想“初始化”我的连接(就像你会在 OO 中初始化一个对象一样)。 我不希望每个 DB 函数都创建和关闭新连接。
我是否必须创建一个池并将该池作为参数而不是连接句柄传递给函数?最简单的例子是什么?
无论是池还是连接句柄,我如何将其置于一种状态,以便我的函数在需要时抓取它,而不是一直重复“打开”和“关闭”?如果是,如何正确完成?
我是否需要创建一个池并将其置于一个状态,以便函数只查询池以获取来自全局状态的连接?再次,非常感谢您的示例。
谢谢。
【问题讨论】:
标签: haskell