Browse Source

Documentation

tags/release-2.0.0
James Moger 8 years ago
parent
commit
4d4d527a03
3 changed files with 42 additions and 31 deletions
  1. 19
    26
      src/site/building.mkd
  2. 5
    1
      src/site/examples.mkd
  3. 18
    4
      src/site/index.mkd

+ 19
- 26
src/site/building.mkd View File

@@ -1,31 +1,24 @@
## Building from Source
[Eclipse](http://eclipse.org) is recommended for development as the project settings are preconfigured.
Additionally, [eclipse-cs](http://eclipse-cs.sourceforge.net), [FindBugs](http://findbugs.sourceforge.net), and [EclEmma](http://www.eclemma.org) are recommended development tools.
### Build Dependencies (bundled in repository)
- [ant-googlecode](http://code.google.com/p/ant-googlecode) (New BSD)
### Build Dependencies (downloaded during build)
- [Moxie Build Toolkit](http://moxie.gitblit.com) (Apache 2.0)
- [H2 Database](http://h2database.com) (Eclipse Public License 1.0)
- [HSQL Database Engine](http://hsqldb.org) (BSD)
- [Apache Derby Database](http://db.apache.org/derby) (Apache 2.0)
- [MySQL Connector/J](http://dev.mysql.com/downloads/connector/j) (GPL)
- [PostgreSQL JDBC Connector](http://jdbc.postgresql.org) (BSD)
- [JUnit](http://junit.org) (Common Public License)
- [SLF4J](http://www.slf4j.org) (MIT/X11)
- [Apache Commons Pool](http://commons.apache.org/pool) (Apache 2.0)
- [Apache Commons DBCP](http://commons.apache.org/dbcp) (Apache 2.0)
### Instructions
1. Clone the git repository from [Github](${project.scmUrl}).
2. Import the iciql project into your Eclipse workspace.<br/>
*There will be some build errors.*
3. Using Ant, execute the `build.xml` script in the project root.<br/>
*This will download all necessary build dependencies.*
4. Select your iciql project root and **Refresh** the project, this should correct all build problems.
### Maven
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
### Ant
You may use Ant to build this project:
ant clean build
You may execute the full test suite against all tested databases:
ant testsuite
## Contributing
Patches welcome in any form.

+ 5
- 1
src/site/examples.mkd View File

@@ -10,7 +10,11 @@ List<Product> allProducts = db.from(p).select();
// select * from customers where region='WA'
Customer c = new Customer();
List<Customer> waCustomers = db.from(c). where(c.region).is("WA").select();
List<Customer> waCustomers = db.from(c).where(c.region).is("WA").select();
// select distinct customerId from customers where region='WA'
Customer c = new Customer();
List<String> customerIds = db.from(c).where(c.region).is("WA").selectDistinct(c.customerId);
public static class ProductPrice {
public String productName;

+ 18
- 4
src/site/index.mkd View File

@@ -15,7 +15,7 @@ iciql **is not**...
- 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]
### fluent, type-safe SQL DSL with rich object mapping
### Fluent, type-safe SQL DSL with rich object mapping
Born from the unfinished [JaQu][jaqu] subproject of H2 in August 2011, Iciql has [advanced the codebase](jaqu_comparison.html) & DSL greatly. It supports more SQL syntax, more SQL data types, and all standard JDBC object types.
@@ -30,7 +30,7 @@ try (Db db = Db.open("jdbc:h2:mem:iciql")) {
}
---JAVA---
### dynamic, annotated DAO with standard crud operations
### Dynamic, annotated DAO with standard crud operations
Inspired by JDBI, Iciql offers a similar [DAO feature](dao.html). There are some clear benefits to using SQL directly rather than SQL-through-a-DSL so use each one where it makes the mose sense.
@@ -83,7 +83,7 @@ try (Db db = Db.open("jdbc:h2:mem:iciql")) {
}
---JAVA---
### flexible field data types
### Flexible field data types
The [Data Type Adapter feature](dta.html) allows you to customize how your SQL column data types map to/from Java objects.
@@ -91,7 +91,7 @@ This is very useful for mapping your field domain models to SQL without having t
You might use this to take advantage of the underlying database's type system. For example, PostgreSQL ships with the compelling JSON/JSONB/XML data types. Iciql provides String and Object adapters to facilitate use of those data types.
### runtime mode support
### Runtime mode support
Mode support allows you to tweak the behavior of your `@TypeAdapter` and `DAO` implementations to adapt to runtime conditions such as developing on a different database than you deploy on.
@@ -105,6 +105,20 @@ Mode support allows you to tweak the behavior of your `@TypeAdapter` and `DAO` i
Support for others is possible and may only require creating a simple "dialect" class.
### Downloading
As of 2.0.0 iciql is now distributed through Maven Central and it's coordinates have changed slightly.
```xml
<dependencies>
<dependency>
<groupId>com.gitblit.iciql</groupId>
<artifactId>iciql</artifactId>
<version>2.0.0/version>
</dependency>
</dependencies>
```
### Java Runtime Requirement
iciql requires a Java 6 Runtime Environment (JRE) or a Java 6 Development Kit (JDK).

Loading…
Cancel
Save