使用 Slick 创建参数化准备语句
Creating parameterised prepared statements with Slick
在下面的代码中:
val users = TableQuery[Users]
def getUserById(id:Int) = db(users.filter(_.id === id).result)
据我了解,getUserById 会创建一个准备好的语句 每次 getUserById 是执行然后丢弃。有没有办法缓存准备好的语句,使其只创建一次并调用多次。
documentation for Slick表示您需要在连接池配置上启用预处理语句缓存。
这里还有quite a good article就可以了。
总结一下,Slick 似乎缓存了用于准备实际语句的字符串,但是将实际准备好的语句的缓存委托给底层连接池实现。
在下面的代码中:
val users = TableQuery[Users]
def getUserById(id:Int) = db(users.filter(_.id === id).result)
据我了解,getUserById 会创建一个准备好的语句 每次 getUserById 是执行然后丢弃。有没有办法缓存准备好的语句,使其只创建一次并调用多次。
documentation for Slick表示您需要在连接池配置上启用预处理语句缓存。
这里还有quite a good article就可以了。
总结一下,Slick 似乎缓存了用于准备实际语句的字符串,但是将实际准备好的语句的缓存委托给底层连接池实现。