From 4d4d527a03a2f78eb5108e6e1f56da4188554e9a Mon Sep 17 00:00:00 2001 From: James Moger Date: Mon, 4 Apr 2016 20:59:45 -0400 Subject: [PATCH] Documentation --- src/site/building.mkd | 45 ++++++++++++++++++------------------------- src/site/examples.mkd | 6 +++++- src/site/index.mkd | 22 +++++++++++++++++---- 3 files changed, 42 insertions(+), 31 deletions(-) diff --git a/src/site/building.mkd b/src/site/building.mkd index b5548bc..6e70115 100644 --- a/src/site/building.mkd +++ b/src/site/building.mkd @@ -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.
-*There will be some build errors.* -3. Using Ant, execute the `build.xml` script in the project root.
-*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. diff --git a/src/site/examples.mkd b/src/site/examples.mkd index 21dd773..300d929 100644 --- a/src/site/examples.mkd +++ b/src/site/examples.mkd @@ -10,7 +10,11 @@ List allProducts = db.from(p).select(); // select * from customers where region='WA' Customer c = new Customer(); -List waCustomers = db.from(c). where(c.region).is("WA").select(); +List waCustomers = db.from(c).where(c.region).is("WA").select(); + +// select distinct customerId from customers where region='WA' +Customer c = new Customer(); +List customerIds = db.from(c).where(c.region).is("WA").selectDistinct(c.customerId); public static class ProductPrice { public String productName; diff --git a/src/site/index.mkd b/src/site/index.mkd index a36796e..73c24bb 100644 --- a/src/site/index.mkd +++ b/src/site/index.mkd @@ -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 + + + com.gitblit.iciql + iciql + 2.0.0/version> + + +``` + ### Java Runtime Requirement iciql requires a Java 6 Runtime Environment (JRE) or a Java 6 Development Kit (JDK). -- 2.39.5