Skip to content
/ QxOrm Public

QxOrm library - C++ Qt ORM (Object Relational Mapping) and ODM (Object Document Mapper) library - Official repository

Notifications You must be signed in to change notification settings

QxOrm/QxOrm

Repository files navigation

QxOrm library - Official repository

QxOrm library is an Object Relational Mapping (ORM) and Object Document Mapper (ODM) database library for C++ Qt developers. Main features are :

  • Persistence : support most common databases like SQLite, MySQL, PostgreSQL, Oracle, MS SQL Server, MongoDB (with 1-1, 1-n, n-1 and n-n relationships) ;
  • Serialization : JSON, binary and XML format ;
  • Reflection (or Introspection) : access dynamically to classes definitions, retrieve properties and call classes methods ;
  • HTTP web server : standalone multi-threaded HTTP 1.1 web server (support SSL/TLS, persistent connections, cookies, sessions, chunked responses, URL dispatcher/routing) ;
  • JSON API : interoperability with other technology than C++/Qt (REST web services, QML applications, scripting language).

Documentation

QxOrm website provides a user manual.

The goal of this documentation is to provide a user guide to learn how to work with QxOrm library features. This manual is intended for developers and software architects who are looking for a solution to manage a persistent data layer in C++/Qt. Technical skills in C++ and databases are required to understand this document.

Note : all features described in this manual/user guide can be defined quickly and easily with QxEntityEditor application (the graphic editor for QxOrm library, data model designer and source code generator). Another documentation dedicated to QxEntityEditor application is available on QxOrm website.

QxEntityEditor application

QxEntityEditor is a graphic editor for QxOrm library : QxEntityEditor provides a graphic way to manage the data model. QxEntityEditor is multi-platform (available for Windows, Linux and Mac OS X) and generates native code for all environments : desktop (Windows, Linux, Mac OS X), embedded and mobile (Android, iOS, Windows Phone, Raspberry Pi, etc.). A user manual (documentation) for QxEntityEditor application is available on QxOrm website.

QxEntityEditor is based on plugins and provides many ways to import/export your data model :

QxEntityEditor application

Dependencies

By default, QxOrm library depends only on QtCore and QtSql libraries from Qt framework. If you enable QxOrm HTTP web server feature, then QxOrm library will depend also on QtNetwork library. Some features require boost dependency (disabled by default).

Authors

QxOrm is developed by Lionel Marty, a software development engineer since 2003.

License

QxOrm is a C++ library available under a dual license :

  • GNU/GPLv3 license : open-source and free (to develop an open-source project or to evaluate QxOrm library) ;
  • Proprietary license to distribute an application based on QxOrm library without any restrictions of GNU/GPLv3 license.