Mirage-SQL is an easy and powerful SQL-centric database access library for Java (or JVM based languages) which provides dynamic SQL templates in plain SQL files.
You can get Mirage-SQL from the Maven Central repository. Add the following fragment into your pom.xml.
<dependency>
    <groupId>com.miragesql</groupId>
    <artifactId>miragesql</artifactId>
    <version>2.1.2</version>
</dependency>or in a Gradle based project add to your build.gradle the following line:
compile 'com.miragesql:miragesql:2.1.2'or just download it from the Release Page.
Other Mirage-SQL Modules:
| Module | Description | Gradle | 
|---|---|---|
| Mirage-SQL Test | The testing functionality. | testCompile 'com.miragesql:miragesql-test:2.1.2' | 
| Mirage-SQL Tools | The development tools. | testCompile 'com.miragesql:miragesql-tools:2.1.2' | 
| Mirage-SQL Integration | The integration with Spring, Guice and Seasar2.. | compile 'com.miragesql:miragesql-integration:2.1.2' | 
If you are updating your application from a previous Mirage-SQL version, see the Migration Guide.
This is a simple example of a SQL template:
SELECT * FROM BOOK
/*BEGIN*/
  WHERE
  /*IF author != null */
        AUTHOR = /*author*/'Naoki Takezoe'
  /*END*/
  /*IF minPrice != null */
    AND PRICE >= /*minPrice*/20
  /*END*/
  /*IF maxPrice != null */
    AND PRICE <= /*maxPrice*/100
  /*END*/
/*END*/
ORDER BY BOOK_ID ASCWith Mirage-SQL you can embed variables or conditions using special SQL comments, so it's a plain SQL that can be run with any SQL client tool directly.
This feature used in the Mirage's SQL template it's called 2Way SQL.
- A detailed documentation is provided in the Wiki.
 - User Support in English is provided in the Gitter Chatroom.
 - If you find any bugs or issues, please report them in the GitHub Issue Tracker.
 - Release Notes of all previous Mirage-SQL versions.
 - Mirage-SQL also has support for other JVM based languages:
- Scala language support - Mirage-SQL Scala