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 5969ab7d90 [maven-release-plugin] prepare for next development iteration 2 years ago
src Fix Derby expected class size after merging #35 2 years ago
.gitbugtraq Add bugtraq definition 8 years ago
.gitignore Finished Maven migration 8 years ago Update changelog 2 years ago
LICENSE Initial commit of iciql. 12 years ago
NOTICE Mostly complete migration of build script to Moxie 11 years ago Update 6 years ago Documentation 8 years ago
pom.xml [maven-release-plugin] prepare for next development iteration 2 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