Skip to content
a model-based, database access wrapper for JDBC
Failed to load latest commit information.
src Fixes #24: Add where(String) method to improve interop Apr 7, 2016
.gitignore Finished Maven migration Apr 5, 2016 Use root-relative links for changelog versions (reverted from commit e… Apr 9, 2016
LICENSE Initial commit of iciql. Aug 3, 2011
NOTICE Mostly complete migration of build script to Moxie Mar 8, 2013 Update readme and changelog Apr 7, 2016
pom.xml [maven-release-plugin] prepare for next development iteration Apr 7, 2016


Maven Central Maven Central

iciql is...

  • a model-based, database access wrapper for JDBC
  • for modest database schemas and basic statement generation
  • for those who want to write code, instead of SQL, using IDE completion and compile-time type-safety
  • small (<250KB with debug symbols) with no runtime dependencies
  • pronounced icicle (although it could be French: ici ql - here query language)
  • a friendly fork of the H2 JaQu project

iciql is not...

  • a complete alternative to JDBC
  • designed to compete with more powerful database query tools like jOOQ or QueryDSL
  • designed to compete with enterprise ORM tools like Hibernate or mybatis

Supported Databases (Unit-Tested)

Support for others is possible and may only require creating a simple "dialect" class.


As of 2.0.0 iciql is now distributed through Maven Central and it's coordinates have changed slightly.


Older releases are available from the Iciql Maven Repository.


iciql is distributed under the terms of the Apache Software Foundation license, version 2.0.
The text of the license is included in the file LICENSE in the root of the project.

Java Runtime Requirement

iciql requires a Java 6 Runtime Environment (JRE) or a Java 6 Development Kit (JDK).

Getting help

Read the online documentation available at the iciql website
Issues & source code @ GitHub

Building iciql

You may use Maven to build the project:

mvn clean package

You may use Maven to run the test suite on the default database:

mvn clean test

You may use Maven to run the test suite on all tested databases:

mvn clean test-compile exec:exec
Something went wrong with that request. Please try again.