Comparison with Alternatives

Library Language Effect system Typed query DSL Safe SQL string interpolator Databases supported out of the box
Slick Scala Future Yes, compiled to SQL at runtime Yes, explicitly typed outputs or typechecked against the database at compile time MySQL, Postgres, IBM DB2, Oracle, SQL Server, H2, HSQLDB, SQLite, Derby
Quill Scala Depends on your choice out of many backends (contexts). Yes, compiled to SQL at compile time (with exceptions) Yes, explicitly typed outputs. Fully composable with query DSL. MySQL, Postgres, SQLite, H2, SQL Server, Oracle, Cassandra, OrientDB
zio-sql Scala ZIO Yes, compiled to SQL at runtime false PostgreSQL, SQL Server, Oracle, MySQL
jOOQ Java None (synchronous) Yes, compiled to SQL at runtime false Aurora MySQL Edition, Aurora PostgreSQL Edition, Azure SQL Data Warehouse (Azure Synapse Analytics), Azure SQL Database, DB2 LUW, Derby, Firebird, H2, HANA, HSQLDB, Informix, Ingres, MariaDB, Microsoft Access, MySQL, Oracle, PostgreSQL, Redshift, SQL Server, SQLite, Sybase Adaptive Server Enterprise, Sybase SQL Anywhere, Teradata, Vertica
Skunk Scala Effect-polymorphic No Yes, explicitly typed outputs. PostgreSQL
Doobie Scala Effect-polymorphic No Yes, explicitly typed outputs. All JDBC
Anorm Scala None (synchronous) No Yes, explicitly typed outputs. All JDBC

Contents