Overview
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 (200KB) with debug symbols and 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
Example Usage
iciql | sql |
%BEGINCODE%
Product p = new Product();
List restock = db.from(p).where(p.unitsInStock).is(0).select();
List all = db.executeQuery(Product.class, "select * from products");
%ENDCODE%
|
select * from products p where p.unitsInStock = 0
select * from products
|
Supported Databases (Unit-Tested)
Support for others is possible and may only require creating a simple “dialect” class.
Java Runtime Requirement
iciql requires a Java 6 Runtime Environment (JRE) or a Java 6 Development Kit (JDK).
License
iciql is distributed under the terms of the Apache Software Foundation license, version 2.0