|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- ## 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][jaqu] project
-
- iciql **is not**...
-
- - a complete alternative to JDBC
- - designed to compete with more powerful database query tools like [jOOQ][jooq] or [Querydsl][querydsl]
- - designed to compete with enterprise [ORM][orm] tools like [Hibernate][hibernate] or [mybatis][mybatis]
-
- ### Example Usage
- <table class="table">
- <tr>
- <th>iciql</th><th>sql</th>
- </tr>
- <tr>
- <td>
- %BEGINCODE%
- Product p = new Product();
- List<Product> restock = db.from(p).where(p.unitsInStock).is(0).select();
- List<Product> all = db.executeQuery(Product.class, "select * from products");
- %ENDCODE%
-
- </td><td>
- <br/>
- select * from products p where p.unitsInStock = 0<br/>
- select * from products
- </td>
- </tr>
- </table>
-
- ### Supported Databases (Unit-Tested)
- - [H2](http://h2database.com) ${h2.version}
- - [HSQLDB](http://hsqldb.org) ${hsqldb.version}
- - [Derby](http://db.apache.org/derby) ${derby.version}
- - [MySQL](http://mysql.com) ${mysql.version}
- - [PostgreSQL](http://postgresql.org) ${postgresql.version}
-
- 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][apachelicense]
-
- [jaqu]: http://h2database.com/html/jaqu.html "H2 JaQu project"
- [orm]: http://en.wikipedia.org/wiki/Object-relational_mapping "Object Relational Mapping"
- [jooq]: http://jooq.sourceforge.net "jOOQ"
- [querydsl]: http://source.mysema.com/display/querydsl/Querydsl "Querydsl"
- [hibernate]: http://www.hibernate.org "Hibernate"
- [mybatis]: http://www.mybatis.org "mybatis"
- [github]: http://github.com/gitblit/iciql "iciql git repository"
- [googlecode]: http://code.google.com/p/iciql "iciql project management"
- [apachelicense]: http://www.apache.org/licenses/LICENSE-2.0 "Apache License, Version 2.0"
|