微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

OOS C++ 的 ORM 框架

程序名称:OOS

授权协议: GPLv3

操作系统: Windows

开发语言: C/C++

OOS 介绍

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 <exception>

oos::session db(ostore, "sqlite://person.db");

db.create();

typedef oos::object_ptr<person> 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();
}

OOS 官网

http://zussel.github.io/oos/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐