我想知道C++与SQL数据库有什么样的持久性解决方案?除了使用自定义SQL(并封装对DAO或类似的数据访问)之外,还有其他一些(更通用的)解决方案吗?
像一些通用库或框架(类似于Hibernate&co for Java和.NET)或其他东西?(我还没有想到的东西也欢迎提出建议)
编辑:是的,我正在寻找更多的ORM解决方案或类似的东西来处理SQL查询以及表和对象之间的关系,而不是数据库引擎本身.无论如何,谢谢你的所有答案!
SQLite很棒:它快速,稳定,经过验证,易于使用和集成.
虽然学习曲线有点陡峭,但也有Metakit.但我在一个专业项目中成功地使用了它.
听起来你正在寻找一些ORM,这样你就不必费心手写SQL代码了.
有一个帖子在这里是越过C++的ORM解决方案.
您还没有提到您正在编写的应用程序类型,如果它是桌面应用程序,移动应用程序,服务器应用程序.
移动:您最好使用SQLite作为数据库引擎,因为它可以嵌入并且占用空间小.
桌面应用程序:您仍然应该考虑在这里使用SQLite,但您也可以选择在大多数桌面应用程序中始终连接到Internet,在这种情况下,您可能需要为此任务提供网络服务器.我建议使用Apache + MySQL + PHP并使用轻量级ORM(如Outlet ORM),然后使用标准HTTP post调用来访问您的资源.
服务器应用程序:你有更多的选择,但我仍然建议使用Apache + MySQL + PHP + ORM,因为我发现用脚本语言比用C++更容易维护这个层.