如何在C++中实现一个健壮的数据持久层
How do I implement a robust Data Persistence Layer in C++?
我第一次用C++为我的公司创建一个巨大的程序,我想创建一个好的模式来连接到我的MySql数据库。我有这些问题:
-我无法决定应该使用哪种模式,DAO,存储库,UnitOfWork,工厂。。
-我找不到C++中数据访问模式的好例子,我知道它应该独立于语言,但我甚至找不到一个健壮的具有良好异常处理等的DAO模式示例。通常有在非常小的环境中只有两个类(obj1->obj2)。
如果有人知道好的来源或任何提示,我会非常高兴=D
提前谢谢。
我的建议是搜索c++ORM(对象关系映射)在java上有很多ORM或DAL解决方案,比如Hibernate、Datanucleus、SQLite。。
我们正在使用Datanucleus,我们对此很满意,但我认为Datanucles不支持c++。Imho从零开始创建DAL是不必要的。
我几年前也遇到过同样的问题。维基百科中C++的ORM列表很短,最有前途的产品是GPL,否则你必须购买它。
我们决定开发自己的ORM。它有几种企业设计模式。我们选择obd使用的方式:您的表是从简单的类中描述的。对象的持久性和访问是从数据库管理器中处理的。最昂贵的方法是编写自己的查询接口(如果您不想在代码中键入clear-sql)。
相关文章:
- 为什么将一个结构的引用设置为等于另一个结构只会更改一个数据成员?
- C++设计一个数据结构
- 是否可以将多个结构作为一个数据包存储在一个函数中,然后传递给其他函数并在那里提取?
- 在结构向量中搜索一个数据成员,然后打印匹配的所有数据成员
- 如何在STD :: MAP中找到具有至少一个数据成员等于密钥的结构的元素
- 如何在不重写整个视频文件的情况下仅替换流中的一个数据框架?(ffmpeg)
- 为什么OpenDDS在删除DataWriter时重新发送相同的最后一个数据
- CAD程序的数据结构.鼠标拾取和渲染一个数据
- 提升ASIO TCP,为什么我不能在服务器端只有一个数据套接字可以打开和关闭
- 参考数据会在const函数中更改另一个数据成员
- 如何将多条字符浸入一个数据位置
- 让 pthread 等待另一个数据
- Winsock2 tcp/ip-一些数据包被忽略,可能是由于前一个数据包的null终止符
- 一个数据包的boost示例::asio
- 在C/C++中创建一个R数据帧
- 如何从结构数组中删除一个数据行?(带索引)
- QUdpsocket在处理前一个数据报时丢失数据报
- c++声明一个数据类型的字节数组,该数组存储在字符串中
- 并集:从并集的一个数据成员中读取数据,然后写入另一个
- 我可以初始化一个数据成员,这些成员本身就是头文件中的类