0

对于一个项目,我将使用 SQLite 和我们用 C++ 开发的一些软件。我在 PHP 中使用了一些 SQLite,但对于在 Web 开发之外使用数据库有点陌生。我想知道我是否应该:

  1. 直接学习 C++ 实现,然后像这样使用它。
  2. 在 C++ 中找到一个现有的 SQLite 包装器,因为它可以让我免于头痛。

我正在考虑使用包装器,因为没有使用 SQLite 的函数看起来可能有点混乱。为了干净的代码,我倾向于使用包装器。如果是这样,哪个包装器最干净且最常用?是否有开发人员使用的 SQLite 标准包装器?

否则,是否有在 C++ 中使用 SQLite 的好教程?我一直无法找到一套清晰的说明(是的,我已经查看了文档)。

4

1 回答 1

1

如果你熟悉 ORM https://en.wikipedia.org/wiki/Object-relational_mapping

我会推荐这个库,它使用起来非常简单,我已经使用了一段时间了,它比较容易使用,你只需要 sqlite 头文件和 sqlite_orm 库头文件就可以使用它。

https://github.com/fnc12/sqlite_orm

这是该库的 User 和 UserType 表的直接示例:

struct User{ int id; std::string firstName; std::string lastName; int birthDate; std::unique_ptr<std::string> imageUrl; int typeId; }; struct UserType { int id; std::string name; }; using namespace sqlite_orm; auto storage = make_storage("db.sqlite", make_table("users", make_column("id", &User::id, autoincrement(), primary_key()), make_column("first_name", &User::firstName), make_column("last_name", &User::lastName), make_column("birth_date", &User::birthDate), make_column("image_url", &User::imageUrl), make_column("type_id", &User::typeId)), make_table("user_types", make_column("id", &UserType::id, autoincrement(), primary_key()), make_column("name", &UserType::name, default_value("name_placeholder"))));

于 2019-12-10T22:36:15.617 回答