ScalikeJDBC VS Quill

Compare ScalikeJDBC vs Quill and see what are their differences.

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
ScalikeJDBC Quill
4 15
1,255 2,136
0.2% 0.0%
8.9 9.1
7 days ago 7 days ago
Scala Scala
Apache License 2.0 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.

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.
  • What are the possible ways to connect with MYSQL using scala
    1 project | /r/scala | 15 Nov 2022
    You can also try http://scalikejdbc.org which is my personal favorite.
  • Scala 3 RDBMS Libraries
    1 project | /r/scala | 10 Dec 2021
    Maybe not what you're looking for but ScalikeJDBC is published for Scala 3 since version 4.0.0.
  • 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.

Quill

Posts with mentions or reviews of Quill. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-02.
  • Dear Sir, You Have Built a Compiler (2022)
    1 project | news.ycombinator.com | 17 Aug 2023
    https://github.com/zio/zio-quill

    This library does exactly what you prescribe. Pretty sure under the hood it's using macros with string templates

  • Sketch of a Post-ORM
    14 projects | news.ycombinator.com | 2 Jun 2023
  • Why use Spark?
    1 project | /r/dataengineering | 10 Jan 2023
    But I can connect to Postgress with something like Quill and run sophisticated queries to fetch data. Which then got me thinking, what is the difference between using Spark to connect to the database and using something like Quill or your normal pure JDBC driver?
  • What's the point of opaque type aliases (and are they actually sound)?
    1 project | /r/scala | 26 Nov 2022
    Just as an example, say you are using quill ( https://getquill.io/ ) to query your database.
  • I want to move to Scala 3, but I'm not sure what libraries to use
    11 projects | /r/scala | 31 Aug 2022
  • Query DSL in Scala ?
    1 project | /r/scala | 24 Feb 2022
    I think Quill is the closest to your request: https://github.com/zio/zio-quill
  • Doobie tutorial: databases and pure FP in Scala
    1 project | /r/scala | 21 Jan 2022
    If this still looks like too much hassle, you can always go a bit higher-level and use something like Quill, which is also a powerful approach that uses a different, more ORM-like style.
  • Ask HN: What cutting-edge technology do you use?
    5 projects | news.ycombinator.com | 25 Dec 2021
    I'm using it mostly for full-stack web development with ScalaJS (https://www.scala-js.org) in the frontend (https://outwatch.github.io/docs/readme.html) and in the backend with AWS lambdas.

    The ecosystem is currently in the process of porting all the libraries to Scala 3. So if you're new to Scala, I'd recommend to start with Scala 2, which is rock-solid and already very powerful.

    I never worked with SQLAlchemy. But on the scala database side, popular libraries are Doobie (https://tpolecat.github.io/doobie) and Quill (https://getquill.io). Keep in mind that these are for Scala on the JVM. On the ScalaJS side I'm using the javascript library pg. But I'd like to try if it works well with Prisma soon.

    The nice thing about ScalaJS is, that you can use Javascript libraries. And if there are typescript facades, then you can transpile these to Scala and use them in a type safe way (https://scalablytyped.org).

  • Fp libraries that target scala 3 exclusively?
    5 projects | /r/scala | 22 Nov 2021
    I know that libraries like Scodec and shapeless were rewritten practically from scratch for Scala 3, taking advantage of the next syntax and internals, as well as protoquill - a Scala 3 implementation of Quill.
  • Best Scala framework / libraries out there ?
    4 projects | /r/scala | 31 Oct 2021
    Akka HTTP, Cats, Quill, ninny, Monix Observable, mill.

What are some alternatives?

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

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

doobie - Functional JDBC layer for Scala.

Anorm - The Anorm database library

Phantom - Schema safe, type-safe, reactive Scala driver for Cassandra/Datastax Enterprise

Squeryl - A Scala DSL for talking with databases with minimum verbosity and maximum type safety

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

Relate - Performant database access in Scala

zio-protoquill - Quill for Scala 3

AnormCypher - Neo4j Scala library based on Anorm in the Play Framework