在sqlite数据库中存储类

时间:2015-07-07 17:39:37

标签: c++ sqlite

我试图找出如何在SQLite数据库中为c ++项目存储类对象。

根据我在网上学到的东西,我需要将对象存储在SQLite表的blob字段中。您需要采取哪些步骤来执行此操作?我相信你必须序列化(正确的术语?)要插入数据库的对象。

例如,我试图将程序从使用数组转换为数据库,其中每个数组[index]是一个类对象。

目前正在使用:

public class Example
{
    private int x;
    Example(int a)
    {
        x=a;
    }
}

main()
{
    Example array[10];
    for(int i=0; i<10; i++)
    {
        array[i] = new Example(i);
    }
}

与我的喜欢类似:

public class Example
{
    private int x;
    Example(int a)
    {
        x=a;
    }
}
main()
{
    sqlite3 *db;
    int rc;
    char *sql;

    rc = sqlite3_open("test.db", &db);
    for(int i=0; i<10; i++)
    {
        sql = "INSERT INTO INFORMATION(ID,DATA) VALUES ('i', Example(i));"
        rc = sqlite3_exec(db, sql, notused, notused, notused);
    }


}

这可能吗?或者有类似的东西来存储sqlite数据库中的对象?

2 个答案:

答案 0 :(得分:1)

看起来您正在寻找一个ORM(对象关系映射)库,例如Hiberlite

答案 1 :(得分:0)

我认为你应该研究MondoDB

  

MongoDB中的记录是一个文档,它是由字段和值对组成的数据结构。 MongoDB文档类似于JSON对象。字段的值可能包括其他文档,数组和文档数组。

以这种方式提供非常快速且高度可扩展的解决方案