blob: b3e8cbfded5f3d27a5b2d081b310f381da4d314d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
## 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 (125KB) with 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>
<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) 1.3.159
- [HSQLDB](http://hsqldb.org) 2.2.4
- [Derby](http://db.apache.org/derby) 10.7.1.1 & 10.8.1.2
### Partially Supported Databases (not Unit-Tested)
- [MySQL](http://mysql.com)
Support for others is planned 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).
### Current Release
<span class="warning">iciql is undergoing rapid development so api and configuration are subject to change from release to release</span>
**%VERSION%** ([zip](http://code.google.com/p/iciql/downloads/detail?name=%ZIP%)|[jar](http://code.google.com/p/iciql/downloads/detail?name=%JAR%)) *released %BUILDDATE%*
issues, binaries, & source @ [Google Code][googlecode]<br/>
sources @ [Github][github]
### 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"
|