我正在尝试将某种C ++结构的持久存储实现到SQLite数据库中。它在开始时看起来不错,但随后所有这些SQL请求,数据绑定和手动获取字段值变得复杂。
理想情况下,我希望从SQLite中的表行到C ++结构进行某种映射,并且可以在其上运行SQL请求。另一方面,我仍然希望保持足够通用,以便能够使用连接等运行更复杂的请求。
我甚至认为自动生成相应的C ++ / SQL粘合代码的外部实用程序可能会有所帮助。
进行这种映射的正确方法是什么?我听说有人建议使用boost :: serialization或者Google的协议缓冲区,这对于我想要的东西来说是一个很多更好的选择,还是有其他一些好的选择?
答案 0 :(得分:3)
听起来你想要一个对象关系映射器(ORM)。尝试阅读此堆栈溢出线程:https://stackoverflow.com/questions/74141/good-orm-for-c-solutions
那里选定的答案谈到Database Template Library;我也会调查那里。
答案 1 :(得分:1)
Soci是一个好的开始。如果它不能满足您的所有需求,它将帮助您找出您想去的地方。
我用sqlite使用了一段时间,发现它比我能找到的其他人好。我最终写了自己的,但是......