Java SqlWrapper Library

SQLWrapper library allows developers to create,
manipulate, and retrieve data from databases through their applications
without explicitly using SQL.

The
developer uses SQLWrapper 'high-level' methods, and these are
transparently converted into appropriate SQL for SQlite, Java DB, or PostgreSQL.

SQLWrapper
abstraction over SQL syntax doesn't only make developing database
applications faster and easier, without having to remember/know SQL
syntax. It also avoids bugs that result from logical
and syntax mistakes (eg. typos) resulting from manually writing in SQL.
Avoiding as many of these errors early on in the development
(compile-time) is important since these could lie undiscovered until the
application user uses some functionality (run-time) that uses the buggy
code.

SqlWrapper class provides static methods that cover basic DDL and DML SQL syntax. It also
provides functions such as increment, last, and autogenerated ROWID, which don't match functions of all vendors. It also provides a 'printHistory' function which shows all the SQL syntax generated.

It also provides classes to create Table and Column objects to
pass as parameters to SqlWrapper functions. This again increases
compile-time code checking, against passing String parameters, and
allows for cleaner code.

There exist more advanced solutions used in industry
(JPA with the Criteria API), although not for SQLite, and not as
lightweight and simple.

SQLWrapper was developed as a by-product
of the educational application MemorizeEasy and is used in STCAL and MemoWeb.