qseq 基于Korma和ClojureQL查询的惰性序列
qseq是一个在Korma和ClojureQL查询上提供惰性序列的库,其结果按键排序,键可以是复合键。为了提高效率,可以指定排序的方向,分批获取结果,并且可以指定批量大小。这是不是很像在做数学题时分步解决问题,既有效率又井井有条?它还提供了一个事务函数,它将被一个执行SQL请求的函数调用。交易者应该建立一个交易并调用它的参数函数。想象一下,这就像在餐厅点餐时,服务员记下订单并将其传给厨师,是不是很形象?
qseq还提供了一个函数,可以从JDBC数据源构造一个事务器,并且可以使用with-default-transactor宏为线程的某些形式设置default-transactor动态变量,之后不需要提供事务器。看起来就像是在汽车的自动挡和手动挡之间切换,这么简单就可以实现复杂的功能!
使用方法如下:
(require '[clojureql.core :as q])
(require '[korma.core :as k])
(require '[qseq.core :as qs])
(qs/with-default-transactor (qs/transactor my-data-sour)
这种方法是否让你觉得轻松又有趣?仿佛在编织一个既简洁又功能强大的工具。想要了解更多关于惰性序列模型的知识,可以参考惰性Zee模型。谁会想到,技术也可以这么生动有趣呢?
用户评论