Scala Slick如何将Scala代码翻译成JDBC?
Slick如何翻译代码如:
val q2 = for { c <- Coffees if c.price < 9.0 s <- Suppliers if s.id === c.supID } yield (c.name,s.name) for(t <- q2) println(" " + t._1 + " supplied by " + t._2) 进入JDBC? 它是否使用Scala Virtualized?它是否使用其他方法? 解决方法
Slick的稳定API通过所谓的嵌入式实现了这一点。你的例子显然使用了稳定的API(因为你使用===来平等而不是==)。
Slick(反过来,Scala)的优点是 – 这不是使用宏或Scala虚拟化实现的。 (侧注:Slick的实验API使用宏 – 这将允许您使用==而不是===或是) SQL的翻译是通过以下方式实现的: > Scala的理解语法,被转换为方法调用。 与常规的Scala系列一样,是用于嵌套的语法糖 您可以使用q2.selectStatement查看基础查询。 在细节方面还有很多其他事情,但是我认为查询monad和隐含的提升是主要的成分。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |