OOS

C++ 的 ORM 框架
授权协议 GPLv3
开发语言 C/C++
所属分类 程序开发、 ORM/持久层框架
软件类型 开源软件
地区 不详
投 递 者 慕凌
操作系统 Windows
开源组织
适用人群 未知
 软件概览

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(Single Sign On),在分布式架构中,用户只需登录一次,就可访问其他相关的系统。比如登录百度贴吧后,再去访问百度网盘就不需要登录了。 实现方式 session广播机制 用户第一次在任何一个模块登录时,用session广播机制把session复制到其他模块 用户再次登录其他模块时,就可直接本模块中的session判断用户是否登录 缺点:复制session,占用很大资源,一般不

  • s3fs是把Amazon S3存储服务挂载到本地硬盘或者服务器上的程序,天翼云存储OOS和S3兼容,只需要修改s3fs一行代码,它就能挂载天翼OSS到服务器上。感叹一下,有一个行业标准真心好啊... 服务器操作系统是Centos 6.4 64位,自带的fuse版本比较老,用不了新的s3fs,所以第一件事就是: yum remove fuse fuse* fuse-devel 安装s3fs过程中可能

  • 两种方式: 1、通过服务器直接上传云服务器 2、网页向服务器发送请求获取云服务器签名,后直接上传到云服务器(可以降低自身服务器访问压力) 流程: 1、注册云服务器对象存储、开启跨域访问和创建阿里云的子账户密码 2、需要上传文件的表格绑定上传方法 <el-form-item label="品牌logo地址" prop="logo"> <!-- <el-input v-mo

  • Radio Link Failure (RLF) RLF is declared only in connected mode when the link goes bad; > QXDM events are best way to pin-point RLF occurrences and their cause; > RLF can happen for multiple reasons.

  • 在 pom.xml 文件中添加依赖 <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>x.x.x</version> </dependency> 在配置文件中添加 OSS 配置项 aliyun: oss: # oss

  • 记一次关于OOS版本的兼容性问题 Cannot resolve com.alibaba.cloud:aliyun-oss-spring-boot-starter:unknown 捣鼓了好半天,一开始是 导入依赖 unknown,后面又是配置文件 中因为 版本的不同,key也不同。 这篇文章写的挺好的,我就附上链接,自己也记录一下 原文链接:导入OSS依赖不兼容问题_Java_萬仟网

  • 首先要找对sdk 看了好久 以为要AWS才能使用,最后发现这个和AWS没有关系!!! 完全没有用: https://www.ctyun.cn/help2/10000101 Error retrieving credentials from the instance profile metadata server. (cURL error 7: (see http://curl.haxx.se/l

 相关资料
  • 从戏剧!框架文档: Play2.0中没有内置的JPA实现;您可以选择任何可用的实现。例如,要使用Hibernate,只需将依赖项添加到项目中: 我的选择是什么而不是冬眠? 你认为什么最适合留言板网站? 我知道Hibernate有一点开销,对吗?

  • 本文向大家介绍什么是 ORM 框架?相关面试题,主要包含被问及什么是 ORM 框架?时的应答技巧和注意事项,需要的朋友参考一下 ORM(Object Relation Mapping)对象关系映射,是把数据库中的关系数据映射成为程序中的对象。 使用 ORM 的优点:提高了开发效率降低了开发成本、开发更简单更对象化、可移植更强。

  • ORM(Object-relational mapping),对象关系映射。 是为了解决面向对象与关系型数据库存在的不匹配问题。 ORM框架的优点: 开发效率更高 数据访问更抽象、轻便 支持面向对象封装

  • 本文向大家介绍用 Composer构建自己的 PHP 框架之使用 ORM,包括了用 Composer构建自己的 PHP 框架之使用 ORM的使用技巧和注意事项,需要的朋友参考一下 回顾 经过前三篇文章 基础准备 、 构建路由 和 设计 MVC ,我们已经得到了一个结构比较完整的 MVC 架构的 PHP 微框架,但是距离一个真正能够上手使用的框架还差一样东西: 数据库封装 ,本篇就将讲述如何集成一个

  • 大多数现代应用程序使用关系数据库来存储数据。 最近,许多供应商转而使用对象数据库来减轻数据维护的负担。 这意味着对象数据库或对象关系技术正在处理存储,检索,更新和维护。 此对象关系技术的核心部分是映射orm.xml文件。 由于xml不需要编译,因此我们可以轻松地对管理多个数据源进行更改。 对象关系映射 对象关系映射(ORM)简要介绍了什么是ORM以及它是如何工作的。 ORM是一种编程功能,可以将数

  • 问题内容: 我已经使用Hibernate多年了,从来没有遇到过任何问题,但是刚刚意识到我的大部分工作都涉及CRUD方法,在这种方法中,我需要随意保存和修改数据。 问题是有些人想要制作2个单独的应用程序,一个要批量插入,另一个要对插入的数据执行搜索。 由于这种情况下的持久性有点用处,因此团队希望不使用Hibernate,而是在插入应用程序上使用原始查询,而在查询应用程序上使用jOOQ之类的东西。 那

  • ORM

    介绍 imi 中目前支持两个模型:数据库模型、内存表模型 数据库模型与传统 php-fpm 框架下使用并无多大差别,甚至更加好用。 在 imi 框架中,提供了一个模型生成工具。使用该工具生成的模型,在使用时无需手动定义字段,支持 IDE 代码提示。 模型生成命令使用说明:https://doc.imiphp.com/dev/generate/model.html 模型字段和序列化 模型实例对象可以

  • orm

    Laravel Doctrine ORM A drop-in Doctrine ORM 2 implementation for Laravel 5+ $scientist = new Scientist( 'Albert', 'Einstein');$scientist->addTheory( new Theory('Theory of relativity'));Entity