LiteSQL is a C++ library that integrates C++ objects tightly to relational database and thus provides an object persistence layer. LiteSQL supports SQLite3, PostgreSQL and MySQL as backends. LiteSQL creates tables, indexes and sequences to database and upgrades schema when needed. In addition to object persistence, LiteSQL provides object relations which can be used to model basic OO building blocks (aggregation, composition, association). Objects can be selected, filtered and ordered using template- and class-based API with type checking at compile time.
- SQLite3, PostgreSQL, MySQL and Oracle-backend support
- C++ object persistence (store, update, retrieve)
- relational operations (filtering, ordering, referencing other objects)
- automatic database structure maintenance (creates, updates and drops tables/indices behind the scenes)
- C++ template based database API -> no SQL queries by hand
This library is distributed under the terms of [BSD-License](@ref bsd_license)
0.3.x version is a proof-of-concept implementation, works for non-critical use
Please continue to the Download page.
Discussion about the library (help requests, new ideas, etc.) is very welcome at litesql-users mailing list
There is a lot of interesting tasks available (the list of active tickets). Please acknowledge the license of the project before contributing. Only contributions that can be released under the license will be included.
- Quick Start -- a simple complete example
- Contributors -- the persons who have dedicated their precious time for a good purpose
- Examples -- code snippets for doing simple things
- Defining Database -- how to write an XML database definition file
- OR-mapping model -- how the objects are stored in the database