The doobie module adds support for reading and writing CronExpr to a database via JDBC. Since JDBC is a JVM-only concept this module can not be used with non-JVM targets. To use it, add the corresponding dependency to your project in SBT:

libraryDependencies ++= Seq(
  "com.github.alonsodomin.cron4s" %% "cron4s-doobie" % "0.6.1",

  "org.tpolecat" %% "doobie-core" % "0.9.0"
)

And now you will need some imports:

import cron4s.CronExpr
import cron4s.doobie._
import doobie._
import doobie.implicits._

Now define a case class that represents your database data (and which should contain a cron expression):

case class MeetingId(value: Long)
case class RecurringMeeting(subject: String, description: String, frequency: CronExpr)

With this, you now are capable of writing read and write queries for that given data structure:

def loadAllMeetings = {
  sql"select subject, description, frequency from meetings"
    .query[RecurringMeeting]
    .to[List]
}

def updateMeetingFrequency(meetingId: MeetingId, freq: CronExpr) = {
  sql"update meetings set frequency = $freq where meetingId = ${meetingId.value}"
    .update
    .run
}

For more information, go to Doobie’s User Guide.