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.There exist more advanced solutions used in industry (JPA with the Criteria API), although not for SQLite, and not as lightweight and simple.
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.
SQLWrapper was developed as a by-product of the educational application MemorizeEasy and is used in STCAL and MemoWeb.