我刚开始使用scala,想建立与我的数据库的连接。
(我的知识源于https://www.scala-exercises.org/上的scala / doobie教程)
现在是代码:
import doobie._ import doobie.implicits._ import cats.effect._ import cats.implicits._ import doobie.hikari._ ... val transactor: Resource[IO, HikariTransactor[IO]] = for { ce <- ExecutionContexts.fixedThreadPool[IO](32) // our connect EC be <- Blocker[IO] // our blocking EC xa <- HikariTransactor.newHikariTransactor[IO]( "org.h2.Driver", // driver classname "jdbc:mysql://localhost:3306/libraries", // connect URL "root", // username "", // password ce, // await connection here be // execute JDBC operations here ) } yield xa
[当我尝试构建代码时,出现以下错误消息:
错误:(25,53)找不到ContextShift [cats.effect.IO]的隐式值:
从效果库中导入ContextShift [cats.effect.IO]
如果使用IO,请使用cats.effect.IOApp或使用cats.effect.IO.contextShift构建一个xa
现在我有两个问题:
我刚开始使用scala,想与我的数据库建立连接。 (我的知识来自https://www.scala-exercises.org/上的scala / doobie教程。)现在是代码:import doobie._ ...
编译器无法在隐式范围内找到ContextShift[IO]
实例的问题,这是某些方法所必需的(不确定到底是哪个方法)。您需要在隐式范围内声明自己的名称,例如