# scalikejdbc/scalikejdbc

A tidy SQL-based DB access library for Scala developers. This library naturally wraps JDBC APIs and provides you easy-to-use APIs.

Repository: https://github.com/scalikejdbc/scalikejdbc
Canonical: https://ross.abutalabs.com/products/scalikejdbc
Homepage: https://scalikejdbc.org/
Language: Scala
License: Apache-2.0
License Family: permissive
Topics: scala, database, postgresql, mysql, h2, jdbc
Last push: 2026-08-23T06:45:06+00:00

## Health v2 (maintenance only)
Score: 75/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 31, longevity 100
- inputs: {"age_days": 5402, "days_push": 10, "days_rel": 382, "gap_med": 64, "n_releases_24m": 4}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1281, forks 227 (observed 2026-08-28T04:04:13.821700+00:00)

## What it is
ScalikeJDBC is a tidy SQL-based database access library for Scala that wraps JDBC APIs with easy-to-use, flexible APIs and a type-safe QueryDSL. It includes connection pooling, an optional ActiveRecord-inspired ORM extension, testing support, and a mapper-generator sbt plugin for reverse engineering Scala code from existing databases.

## Use cases
- write type-safe SQL queries in Scala
- access PostgreSQL, MySQL, or H2 from a Scala app
- avoid heavyweight ORM while keeping reusable DB code
- manage JDBC connection pools in Scala
- generate Scala model classes from an existing database schema
- query ClickHouse or Redshift via JDBC from Scala

## When to choose
- you prefer writing SQL over a full ORM in Scala
- you want a production-ready, low-dependency JDBC wrapper with QueryDSL
- you need ActiveRecord-style associations without N+1 queries via scalikejdbc-orm
- your app runs on the JVM and blocking IO is acceptable

## When to avoid
- you need non-blocking/async database access (JDBC blocks on socket IO)
- you are not using Scala or the JVM
- you want a fully automatic ORM with schema migrations out of the box

## Facets
- artifact type: library
- maturity: stable
- function: database, orm, database-driver
- domain: databases, backend, developer-tools
- platform: jvm
- tags: scala, jdbc, sql, querydsl, connection-pool, activerecord-inspired

## Member repositories
- scalikejdbc/scalikejdbc (main) score 75

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:13.821700+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T05:02:33.710443+00:00, confidence not recorded.
  - readme: https://github.com/scalikejdbc/scalikejdbc (fetched 2026-08-28T04:04:13.821700+00:00, sha 338ec1d12c6d)
  - homepage: https://scalikejdbc.org/ (fetched 2026-08-29T12:13:09.318741+00:00, sha 7dba9e9cdece)
  - site_page: https://scalikejdbc.org/documentation/faq.html (fetched 2026-08-29T12:13:09.327883+00:00, sha 0e2b79f1e48f)
  - site_page: https://scalikejdbc.org/documentation/2.x (fetched 2026-08-29T12:13:09.329937+00:00, sha b7f04d76952d)
  - site_page: https://scalikejdbc.org/documentation/operations.html (fetched 2026-08-29T12:13:09.332142+00:00, sha 91cd83e2320d)
  - site_page: https://scalikejdbc.org/documentation/orm.html (fetched 2026-08-29T12:13:09.334104+00:00, sha b6ca61de381d)
  - site_page: https://scalikejdbc.org/documentation/testimonials.html (fetched 2026-08-29T12:13:09.336222+00:00, sha b754eca2980b)
  - site_page: https://scalikejdbc.org/documentation/setup.html (fetched 2026-08-29T12:13:09.338507+00:00, sha ac09316cea21)
  - site_page: https://scalikejdbc.org/documentation/configuration.html (fetched 2026-08-29T12:13:09.340355+00:00, sha f66546609962)
  - site_page: https://scalikejdbc.org/documentation/connection-pool.html (fetched 2026-08-29T12:13:09.362721+00:00, sha 75696237082d)
- Data as of 2026-08-30T08:39:29.467469+00:00.
