Training | Functional JDBC layer for Scala and doobie

Training about how to learn how to interact with relational databases by applying Functional Programming principles using the doobie library.

scala

Overview

doobie: is a pure functional JDBC layer for Scala and Cats. It is not an ORM, nor is it a relational algebra; it simply provides a functional way to construct programs (and higher-level libraries) that use JDBC.  

In this course, we’ll learn how to interact with relational databases (DB) like Postgres by applying Functional Programming principles like immutability, composability, referential transparency, and side effect isolation using the doobie library.

Prerequisites

  • One year experience in Scala or any other Functional Programming language.
  • Knowledge of libraries like cats and cats-effect will be required.
  • Experience in other DB frameworks like slick or quill will be useful, as well as some background with relational databases like Postgres.

What you'll learn

  • How to design and implement a Scala DB layer based on strong Functional Programming basics using doobie.

  • How connections are made and how to query data to the DB tables, where we’ll count on the Scala type system and the compiler, to make all these queries type-checked.

  • Gain knowledge of DDL, Inserting, and Updating and how to use Statement and query Fragments (composition) to structure a DB layer.

  • How to design proper DB Error Handling and how to test the persistence layer.

  • Finally, we’ll go through examples of real domain problems and apply all the concepts we've covered in the course.

Related courses upcoming in the Academy

Skills

This Functional JDBC layer for Scala and doobie includes:

  • Maximum Class Size of 15
  • Access to Academy EduTools Platform
  • Access to Course Materials
  • Certificate of Completion
  • Access to a Private Channel with Trainers in the Academy Slack
  • A Q&A session one week post-course
  • A pre-and-post meeting with our trainers