Data Driven Queries
The SQL Processor
) is an engine producing the ANSI SQL statements and providing their execution without the necessity to write Java plumbing code related to the ORM or JDBC API. The input to the SQL Processor is
- a search form (or a question form or the input values), which is just a POJO. Typically this form is seeded by an end user in a presentation layer of a web application.
- a META SQL query or statement, which is an enhanced ANSI SQL statement. This enhancement is defined in ANTLR based grammar. All the META SQL statements are defined in the meta statements file.
- an output mapping rule, which is a mapping prescription from an SQL query result to the Java output classes values. This prescription syntax is again defined in ANTLR based grammar. All the mapping rules are also defined in the meta statements file.
Based on the inputs the final SQL query/statement is generated. The parameters are bounded and finally this query/statement is executed. This process is known as a Data Driven Query
. The binding of the input values is done using the Reflection API, without any Java plumbing code. The output of the SQL Processor is
- a list of result class instances (or data transfer objects or the output values). Each result class instance is created using the Reflection API, again without any Java plumbing code.
The SQL Processor Eclipse Plugin
) enables smart edition of the SQL Processor (SQLP) artefacts, POJO and DAO modelling and SQLP artefacts generation based on DB model (including all META SQL statements, POJO and DAO Java code).
The SQL Processor is available from the next Maven repos:
Tutorials and sources:
The SQL Processor Eclipse Plugin is available from the next P2 repos:
You can download this project in either
You can also clone the project with Git
$ git clone git://github.com/hudec/sql-processor