1

1)我有一个发光应用程序。我想在单个数据库连接中执行多个数据库请求,这意味着不必再次打开连接。现在我有这个:

(defn page1 [id]
  (layout/render "page1.html"
    (my-var1 (db/get-single-article {:id (Integer/parseInt id)}))))

我想在执行 db/get-single-article 的同一个数据库连接中执行其他东西,比如 db/get-something-else。如何?

2)在 resources/sql/queries.sql 我有这个:

-- :name get-single-article :? :1
-- :doc retrieve an article given the id.
SELECT * FROM article
WHERE id = :id

如何向其中添加一个查询,以便它在 db/get-single-article 调用中执行并返回不同的结果集?像这样:

-- :name get-single-article :? :1
-- :doc retrieve an article given the id.
SELECT * FROM article
WHERE id = :id

select * from another_table
where ...

那么在调用 db/get-single-article 时如何导航它们呢?

4

1 回答 1

1

继续并在您的 SQL 文件中定义第二个查询:

-- :name get-something-else :? :*
select * from another_table where ...

然后为这两个查询分配查询结果,如下所示:

(defn page1 [id]
  (layout/render "page1.html"
    {:my-var1 (db/get-single-article {:id (Integer/parseInt id)})
     :my-var2 (db/get-something-else)}))
于 2016-05-25T09:58:35.433 回答