You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
James Moger 7c0aec7181 Merge pull request #32 from culmat/patch-3 3 years ago
src Avoid NullPointerException 3 years ago
.gitbugtraq Add bugtraq definition 4 years ago
.gitignore Finished Maven migration 4 years ago Documentation 3 years ago
LICENSE Initial commit of iciql. 9 years ago
NOTICE Mostly complete migration of build script to Moxie 7 years ago Update 3 years ago Documentation 4 years ago
pom.xml Switch Maven build to ssh url 3 years ago


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