当前位置: 软件>C/C++软件
C++ 的 ORM 框架 OOS
本文导语: OOS 是一个 C++ 的 ORM 框架。旨在封装所有数据库后端功能,并对开发者提供统一的访问 API。使用 OOS 我们不需要了解后端数据库的类型和 SQL 语句,提供类 STL 的 API 和所有持久化对象的容器。 特性: 封装所有数据库后...
OOS 是一个 C++ 的 ORM 框架。旨在封装所有数据库后端功能,并对开发者提供统一的访问 API。使用 OOS 我们不需要了解后端数据库的类型和 SQL 语句,提供类 STL 的 API 和所有持久化对象的容器。
特性:
- 封装所有数据库后端
- 封装了 SQL 语句和数据库结构
- 为所有对象提供一个容器
- 类 STL 接口
- 简洁直接的设计
- 支持事务处理
- 内部引用计数机制
- 可用于过滤的简单表达式
- 支持的数据库: SQLite, MySQL
- 支持操作系统:Windows, Linux
- 无需依赖其他第三方库
- 易用
示例代码:
#include "object/object_ptr.hpp"
#include "database/session.hpp"
#include "database/transaction.hpp"
#include
oos::session db(ostore, "sqlite://person.db");
db.create();
typedef oos::object_ptr person_ptr;
// insert object
person_ptr p = db.insert(new person("Theo"));
oos::transaction tr(db);
// start transaction
try {
tr.begin();
ostore.insert(new person("George"));
ostore.insert(new person("Jane"));
ostore.insert(new person("Tim"));
ostore.insert(new person("Walter"));
tr.commit();
} catch (std::exception&) {
// an error occurred: do rollback
tr.rollback();
}