https://github.com/gittiver/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.
https://github.com/gittiver/litesql
backend codegenerator database mysql oracle orm persistence persistence-layer relational-databases sql
Last synced: about 1 month ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/gittiver/litesql
- Owner: gittiver
- License: other
- Created: 2017-10-18T17:37:49.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-10-08T17:13:10.000Z (over 1 year ago)
- Last Synced: 2025-03-27T22:12:35.941Z (about 2 months ago)
- Topics: backend, codegenerator, database, mysql, oracle, orm, persistence, persistence-layer, relational-databases, sql
- Language: C++
- Homepage: https://gittiver.github.io/litesql
- Size: 10.3 MB
- Stars: 32
- Watchers: 3
- Forks: 6
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
LiteSQL - C++ Object-Relational Persistence Framework
===========================================================================
[](https://github.com/gittiver/litesql/actions/workflows/cmake.yaml)
[](https://github.com/gittiver/litesql/actions/workflows/doxygen-gh-pages.yml)

[](https://ci.appveyor.com/project/gittiver/litesql)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](http://sourceforge.net/project/showfiles.php?group_id=113304).# Mailing List
Discussion about the library (help requests, new ideas, etc.) is very welcome at [litesql-users mailing list](http://lists.sourceforge.net/lists/listinfo/litesql-users)
# Contributions Welcome
There is a lot of interesting tasks available (the list of [active tickets](https://sourceforge.net/p/litesql/_list/tickets?source=navbar)).
Please acknowledge the license of the project before contributing. Only contributions that can be released under the license will be included.# Documentation
* [Quick Start](docs/quickstart.md) -- a simple complete example
* [Contributors](docs/contributors.md) -- the persons who have dedicated their precious time for a good purpose
* [Examples](docs/examples.md) -- code snippets for doing simple things
* [Defining Database](docs/defining_database.md) -- how to write an XML database definition file
* [OR-mapping model](docs/mapping_objects_to_database.md) -- how the objects are stored in the database