Slick is a modern database query and access library for Scala. It allows you to work with stored data almost as if you were using Scala collections while at the same time giving you full control over when a database access happens and which data is transferred. You can write your database queries in Scala instead of SQL, thus profiting from the static checking, compile-time safety and compositionality of Scala. Slick features an extensible query compiler which can generate code for different backends.
The following database systems are directly supported for type-safe queries. These are the databases and driver versions that have explicit automated tests.
Database | JDBC Driver | Build status |
---|---|---|
SQLServer 2008, 2012, 2014, 2017 | jtds:1.2.8 and msjdbc:4.2 | |
Oracle 11g | ojdbc7:12.1.0.2 | |
DB2 10.5 | db2jcc4:4.19.20 | |
MySQL | mysql-connector-java:5.1.23 | |
PostgreSQL | postgresql:9.1-901.jdbc4 | |
SQLite | sqlite-jdbc:3.8.7 | |
Derby/JavaDB | derby:10.9.1.0 | |
HSQLDB/HyperSQL | hsqldb:2.2.8 | |
H2 | com.h2database.h2:1.4.197 |
Accessing other database systems is possible, with a reduced feature set.
The manual and scaladocs for Slick can be found on the Slick web site.
Licensing conditions (BSD-style) can be found in LICENSE.txt.