| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
datamapper-cpp is an object-relational mapper for C++ and SQLite. It is a thin layer on top of dbc-cpp, a lightweight database access library for C++ with JDBC-like ResultSet interface. It is stable and has been running in production in an industrial system since 2012.
It relies on the following dbc-cpp low-level database operations:
And finally, dbc-cpp relies on SQLite, the architecture diagram is as follows:
+----------------+ | datamapper-cpp | +----------------+ | dbc-cpp | +----------------+ | SQLite | +----------------+
See tests for more details:
// Create database table.
PersonRepository::CreateTable();
// Save a single object to database.
Person p(-1, "Ervin", 38, 1.80);
PersonRepository::Save(p);
// Save multiple objects.
Person::list ps;
ps.push_back(Person(-1, "Marvin", 24, 1.65));
ps.push_back(Person(-1, "Steve", 32, 2.10));
PersonRepository::Save(ps);
// Get single object from database.
Person p = PersonRepository::Get(1);
p = PersonRepository::GetByField("name", "Marvin");
p = PersonRepository::GetByQuery("SELECT * FROM person WHERE name LIKE '%vin'");
// Get multiple objects from database.
Person::list ps = PersonRepository::GetAll();
ps = PersonRepository::GetManyByField("age", 32);
ps = PersonRepository::GetManyByQuery("SELECT * FROM person WHERE name LIKE '%vin'");
// Delete data from database.
PersonRepository::Delete(1);
Person marvin(2, "Marvin", 24, 1.65);
PersonRepository::Delete(marvin);| Back | FazBrowse Home | New Git URL |