Q: ZIOで使用する方法は?
A: ZIOで使用する場合、ldbc-zio-interopを使用します。
libraryDependencies += "io.github.takapi327" %% "ldbc-zio-interop" % "latest"
以下は、ZIOを使用してldbcを利用するためのサンプルコードです。
import zio.*
import ldbc.zio.interop.*
import ldbc.connector.*
import ldbc.dsl.*
object Main extends ZIOAppDefault:
private val datasource =
MySQLDataSource
.build[Task]("127.0.0.1", 3306, "ldbc")
.setPassword("password")
.setDatabase("world")
.setSSL(SSL.Trusted)
private val connector = Connector.fromDataSource(datasource)
override def run =
sql"SELECT Name FROM city"
.query[String]
.to[List]
.readOnly(connector)
.flatMap { cities =>
Console.printLine(cities)
}
パフォーマンス
Cats EffectからZIO変換によるパフォーマンス結果は以下のようになります。