doobie VS ScalikeJDBC

Compare doobie vs ScalikeJDBC and see what are their differences.

doobie

Functional JDBC layer for Scala. (by tpolecat)

ScalikeJDBC

A tidy SQL-based DB access library for Scala developers. This library naturally wraps JDBC APIs and provides you easy-to-use APIs. (by scalikejdbc)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
doobie ScalikeJDBC
12 4
2,119 1,254
- 0.2%
8.8 8.9
7 days ago about 18 hours ago
Scala Scala
MIT License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

doobie

Posts with mentions or reviews of doobie. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-11-04.

ScalikeJDBC

Posts with mentions or reviews of ScalikeJDBC. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-02-24.
  • Query DSL in Scala 3
    2 projects | /r/scala | 24 Feb 2021
  • From First Principles: Why Scala?
    11 projects | news.ycombinator.com | 11 Feb 2021
    I have had poor experiences with "fancy" SQL libraries in multiple languages when I go past basic operations. This includes Slick and Quill in Scala.

    I don't remember what the problems were with Slick that leave such a bad feeling when I hear its name -- that was 5 years ago -- but I had problems with Quill just last year. I was trying to use it to generate an efficient "in" query against a two column composite primary key, and nothing seemed to work. Since it uses macro magic, one of my attempts triggered an internal compiler error instead of normal compiler feedback.

    I ended up dropping Quill for ScalikeJDBC:

    http://scalikejdbc.org/

    It seems to be less popular/active than other libraries, but it is dead simple to use, even for developers new to Scala. I write exactly the SQL I want just like I would in psql. There is little-to-no magic [1]. I think that the only slightly magical feature I use is ensure that variable interpolation into SQL ("SQLInterpolation") prevents injection attacks.

    [1] It actually has capabilities to automatically map tables/columns into different structures and generate code for you, but my team doesn't use any of that. We just write SQL.

What are some alternatives?

When comparing doobie and ScalikeJDBC you can also consider the following projects:

Slick - Slick (Scala Language Integrated Connection Kit) is a modern database query and access library for Scala

Quill - Compile-time Language Integrated Queries for Scala

skunk - A data access library for Scala + Postgres.

Anorm - The Anorm database library

Clickhouse-scala-client - Clickhouse Scala Client with Reactive Streams support

PostgreSQL and MySQL async

mongo-scala-driver

scala-redis - A scala library for connecting to a redis server, or a cluster of redis nodes using consistent hashing on the client side.

scala-migrations - Database migrations written in Scala