/litesql

LiteSQL is a C++ ORM (object relational mapper) consisting of a codegenerator and C++ library that integrates C++ objects tightly to relational database and thus provides an object persistence layer. LiteSQL supports SQLite3, PostgreSQL, MySQL and oracle as backends.

Primary LanguageC++OtherNOASSERTION

LiteSQL - C++ Object-Relational Persistence Framework

Build and test (cmake based build) Documentation travis CI Appveyour Build status

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.

Features

  • 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

License

This library is distributed under the terms of [BSD-License](@ref bsd_license)

Status

0.3.x version is a proof-of-concept implementation, works for non-critical use

Download

Please continue to the Download page.

Mailing List

Discussion about the library (help requests, new ideas, etc.) is very welcome at litesql-users mailing list

Contributions Welcome

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.

Documentation