Connessione a MariaDB in Scala 3 e doobie
Come al solito ho specificato Scala 3 in quanto non tutte le librerie sono ancora compatibili con questa versione.
In questo articolo useremo, infatti, doobie in RC, quindi una versione funzionante ma ancora non ufficiale.
doobie è sostanzialmente un layer JDBC per la connessione a un db.
In questo articolo vedremo come usarla per connetterci a MariaDB.
Rispetto ad altri articoli, non ho specificato anche MySQL perchè ci sono delle piccole differenze nei driver e nella url di connessione.
In realtà molto poche, ma ho preferito specificarlo.
Se usate sbt per l'installazione:
libraryDependencies ++= Seq(
"org.tpolecat" %% "doobie-core" % "1.0.0-RC10",
"org.tpolecat" %% "doobie-hikari" % "1.0.0-RC10",
"org.mariadb.jdbc" % "mariadb-java-client" % "3.5.6"
)
Qui sotto un pò di codice:
package com.test
import cats.*
import cats.effect.*
import cats.effect.unsafe.implicits.global
import doobie.*
import doobie.implicits.*
case class Persona(id: Int, email: String)
@main
def main(): Unit =
val xa = Transactor.fromDriverManager[IO](
driver = "org.mariadb.jdbc.Driver",
url = "jdbc:mariadb://localhost:3306/test?serverTimezone=UTC",
user = "root",
password = "9211",
logHandler = None
)
sql"SELECT id, email FROM persone"
.query[Persona]
.to[List]
.transact(xa)
.unsafeRunSync()
.take(50)
.foreach(println)
Enjoy!
scala sbt database mariadb
Commentami!