精华内容
下载资源
问答
  • qxorm

    2020-04-22 22:50:18
    QxOrm (the engine) + QxEntityEditor (the graphic editor) = the best solution to manage your persistent data layer in C++/Qt !

    QxOrm (the engine) + QxEntityEditor (the graphic editor) = the best solution to manage your persistent data layer in C++/Qt !

    展开全文
  • QxOrm 1.2.9

    2015-03-28 16:22:17
    Qxorm 1.2.9 源码+文档 QxOrm 是一个 C++ 库用来提供 ORM 功能,基于 Qt 的 QtSql 库。
  • QxOrm框架

    千次阅读 2020-06-17 17:29:02
    一、设置.pro文件中的include、lib路径与include(QxOrm.pri) QT -= gui CONFIG += c++11 console CONFIG -= app_bundle include(QxOrm.pri) # The following define makes your compiler emit warnings if you ...

    目录

     一、设置.pro文件中的include、lib路径与include(QxOrm.pri)

     二、头文件与宏函数注册

     三、cpp文件宏注册与模板实现

    四、main函数实现


     一、设置.pro文件中的include、lib路径与include(QxOrm.pri)

    QT -= gui
    
    CONFIG += c++11 console
    CONFIG -= app_bundle
    
    include(QxOrm.pri)
    # The following define makes your compiler emit warnings if you use
    # any Qt feature that has been marked deprecated (the exact warnings
    # depend on your compiler). Please consult the documentation of the
    # deprecated API in order to know how to port your code away from it.
    DEFINES += QT_DEPRECATED_WARNINGS
    
    INCLUDEPATH += ./include
    
    # You can also make your code fail to compile if it uses deprecated APIs.
    # In order to do so, uncomment the following line.
    # You can also select to disable deprecated APIs only up to a certain version of Qt.
    #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
    
    SOURCES += \
            main.cpp \
        person.cpp
    
    # Default rules for deployment.
    qnx: target.path = /tmp/$${TARGET}/bin
    else: unix:!android: target.path = /opt/$${TARGET}/bin
    !isEmpty(target.path): INSTALLS += target
    
    HEADERS += \
        person.h
    
    unix|win32: LIBS += -L$$PWD/lib/ -lQxOrmd

     二、头文件与宏函数注册

    #ifndef PERSON_H
    #define PERSON_H
    
    #include <QxOrm.h>
    #include <QString>
    
    class QX_DLL_EXPORT_HELPER Person
    {
        QX_REGISTER_FRIEND_CLASS(Person)
    
        public:
            Person() : id(0) {}
    
        long id;
    
        QString name;
    };
    
    QX_REGISTER_HPP_EXPORT_DLL(Person, qx::trait::no_base_class_defined, 1);
    
    #endif // PERSON_H
    

     三、cpp文件宏注册与模板实现

    #include "person.h"
    
    #include <QxOrm_Impl.h>
    
    QX_REGISTER_CPP_EXPORT_DLL(Person)
    
    namespace qx{
    template<> void register_class(QxClass<Person> & t)
    {
        t.id(&Person::id, "id");
    
        t.data(&Person::name, "name");
    }
    }

    四、main函数实现

    #include <QCoreApplication>
    
    #include "person.h"
    
    //#include <QxOrm.h>
    //#include <QxOrm_Impl.h>
    
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
    
        //数据库连接
        qx::QxSqlDatabase::getSingleton()->setDriverName("QSQLITE");
        qx::QxSqlDatabase::getSingleton()->setDatabaseName("Test.db");
    
        //建立表,如存在可省略
        QSqlError error = qx::dao::create_table<Person>();
    
        typedef QSharedPointer<Person> PersonPointer;
    //    PersonPointer p1;
    //    p1.reset(new Person());
    //    p1->name = "Jack";
    
    //    PersonPointer p2;
    //    p2.reset(new Person());
    //    p2->name = "Mark";
    
    //    PersonPointer p3;
    //    p3.reset(new Person());
    //    p3->name = "Jerry";
    
    //    QVector<PersonPointer> vect;
    //    vect.append(p1);
    //    vect.append(p2);
    //    vect.append(p3);
    
        PersonPointer ptr;
        ptr.reset(new Person());
        ptr->id = 4;
        error = qx::dao::fetch_by_id(ptr);
        qx_query que;
        que.where("name").isEqualTo("Jerry");
        qx_query que2;
        que2.where("id").isGreaterThanOrEqualTo(2);
        QList<Person> list {};
        error = qx::dao::fetch_by_query(que2, list);
        for(auto i : list)
            qDebug()<<i.id<<endl;
    
    
        return a.exec();
    }
    

    参考:https://blog.csdn.net/liang19890820/article/details/105071540

    展开全文
  • QxOrm-master.zip

    2021-04-08 17:41:01
    QxOrm开源库源代码
  • QxOrm_1.4.4

    2018-04-12 00:18:01
    下载:QxOrm 是一个 C++ 库用来提供 ORM 功能,基于 Qt 的 QtSql 库。 主要特性: persistence : communication with a lot of databases (with 1-1, 1-n, n-1 and n-n relationships) serialization : binary and ...
  • QxOrm_1.4.6.zip

    2019-06-13 09:58:34
    QxOrm是一个基于Qt框架的ORM库,由于QxOrm官网被wall,费力气下到了截止目前最新版本的代码,压缩打包奉上
  • ist的matlab代码QxOrm Qt流行的C ++ Object Relationshop Mapper的前叉。 这是版本1.2.4,这是LGPL许可下的最后一个公共发行版。 变化 Qt 5.2兼容性 路线图 我们计划进一步增强此版本。 我们的主要驱动力是我们的...
  • QxOrm的使用

    2015-02-09 17:23:55
    文件中包含QxOrm的编译,工程环境配置,示例源程序!可以直接使用源程序中的库和头文件不用再去编译生成!包含文件(include目录下),库文件(lib)目录下,BOOSTDIR为boost库的目录,需要下载编译!
  • c++ 集成 Orm框架 QxOrm

    2018-08-16 17:56:33
    现在不多的c++Orm框架,c++的Orm框架 QxOrm ,已经编译好的集成版,直接可以用Qt打开,编译运行,内含qxOrm的例子和官方文档,可以学习后自己制作符合自己项目的实体类和语句,更方便的进行数据库操作
  • QXorm1.4.4下载

    2018-07-27 11:18:32
    QXorm是一个c++的orm框架,最新的QXorm1.4.4版本已不需要编译boost库。 下载链接https://pan.baidu.com/s/1j1by6Edh-qWrQ8lrroCzPQ

    QXorm是一个c++的orm框架,最新的QXorm1.4.4版本已不需要编译boost库。
    下载链接https://pan.baidu.com/s/1j1by6Edh-qWrQ8lrroCzPQ

    展开全文
  • QxOrm 例一

    2021-04-03 11:42:41
    include 、inl、 lib三个目录是从qxorm的目录拷贝过来的 目录要这样放,方便添加库 工程: 2、precompiled.h 文件 拷贝的一个test目录下的一 例子,这个文件必须要 #ifndef _QX_BLOG_PRECOMPILED_HEADER_H_ #...

    1、 demo目录结构

    include 、inl、 lib三个目录是从qxorm的目录拷贝过来的
    目录要这样放,方便添加库
    在这里插入图片描述
    工程:
    在这里插入图片描述

    2、precompiled.h 文件

    拷贝的一个test目录下的一 例子,这个文件必须要

    #ifndef _QX_BLOG_PRECOMPILED_HEADER_H_
    #define _QX_BLOG_PRECOMPILED_HEADER_H_
    
    #include <QxOrm.h>
    
    #include "export.h"
    
    /*
    // To resolve a problem with MSVC++ 2010 and MSVC++ 2012 (and later ?) :
    // These compilers provide a tuple header but BOOST_NO_CXX11_HDR_TUPLE macro is defined !
    // This is because these compilers doesn't provide variadic templates
    #if (defined(_QX_CPP_11_TUPLE) && !defined(BOOST_NO_CXX11_HDR_TUPLE))
    #define QX_TUPLE std::tuple
    #define QX_TUPLE_GET std::get
    #else // (defined(_QX_CPP_11_TUPLE) && !defined(BOOST_NO_CXX11_HDR_TUPLE))
    #define QX_TUPLE boost::tuple
    #define QX_TUPLE_GET boost::tuples::get
    #endif // (defined(_QX_CPP_11_TUPLE) && !defined(BOOST_NO_CXX11_HDR_TUPLE))
    */
    
    #define QX_TUPLE std::tuple
    #define QX_TUPLE_GET std::get
    
    #endif // _QX_BLOG_PRECOMPILED_HEADER_H_
    
    

    3、export.h 文件

    同样是参考test目录下的例子

    #ifndef _QX_AMWHA_EXPORT_H_
    #define _QX_AMWHA_EXPORT_H_
    
    #ifdef _BUILDING_QX_AMWHA
    #define QX_AMWHA_DLL_EXPORT QX_DLL_EXPORT_HELPER
    #else // _BUILDING_QX_AMWHA
    #define QX_AMWHA_DLL_EXPORT QX_DLL_IMPORT_HELPER
    #endif // _BUILDING_QX_AMWHA
    
    #ifdef _BUILDING_QX_AMWHA
    #define QX_REGISTER_HPP_QX_AMWHA     QX_REGISTER_HPP_EXPORT_DLL
    #define QX_REGISTER_CPP_QX_AMWHA     QX_REGISTER_CPP_EXPORT_DLL
    #else // _BUILDING_QX_AMWHA
    #define QX_REGISTER_HPP_QX_AMWHA     QX_REGISTER_HPP_IMPORT_DLL
    #define QX_REGISTER_CPP_QX_AMWHA     QX_REGISTER_CPP_IMPORT_DLL
    #endif // _BUILDING_QX_AMWHA
    
    #endif // _QX_AMWHA_EXPORT_H_
    
    

    4、 数据库表结构对象

    #ifndef _QX_PERSON_H_
    #define _QX_PERSON_H_
    
    class QX_AMWHA_DLL_EXPORT Person
    {
    
       QX_REGISTER_FRIEND_CLASS(author)
    
    public:
    
    
       enum enum_sex { male, female, unknown };
    
       long                 m_id;
       QString              m_name;
       int                  m_age;
       enum_sex             m_sex;
    
       Person();
       virtual ~Person();
    
    
    };
    
    QX_REGISTER_HPP_QX_AMWHA(Person, qx::trait::no_base_class_defined, 0)
    
    typedef std::shared_ptr<Person> person_ptr;
    typedef std::vector<person_ptr> type_lst_person;
    
    #endif
    
    
    #include "precompiled.h"
    
    #include "person.h"
    
    
    #include <QxOrm_Impl.h>
    
    QX_REGISTER_CPP_QX_AMWHA(Person)
    
    namespace qx {
    template <> void register_class(QxClass<Person> & t)
    {
            t.id(   & Person::m_id,     "id");
            t.data(& Person::m_name,    "name");
            t.data(& Person::m_age,     "age");
            t.data(& Person::m_sex,     "sex");
    }}
    
    Person::Person()
    {
        m_sex = unknown;
    }
    
    Person::~Person() { ; }
    
    
    

    5、pro文件

    pro需要增加的内容:

    1. sql
    QT += sql
    
    1. 宏定义(precompiled.h文件内)
    DEFINES += _BUILDING_QX_AMWHA
    
    win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../lib/ -lQxOrm
    else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../lib/ -lQxOrmd
    
    INCLUDEPATH += $$PWD/../include
    DEPENDPATH += $$PWD/../include
    
    1. 预编译文件
    !contains(DEFINES, _QX_NO_PRECOMPILED_HEADER) {
        PRECOMPILED_HEADER = precompiled.h
    }
    

    以下是完整的pro文件:

    QT -= gui
    QT += sql
    CONFIG += c++11 console
    CONFIG -= app_bundle
    
    # The following define makes your compiler emit warnings if you use
    # any Qt feature that has been marked deprecated (the exact warnings
    # depend on your compiler). Please consult the documentation of the
    # deprecated API in order to know how to port your code away from it.
    DEFINES += QT_DEPRECATED_WARNINGS
    
    
    DEFINES += _BUILDING_QX_AMWHA
    
    
    !contains(DEFINES, _QX_NO_PRECOMPILED_HEADER) {
        PRECOMPILED_HEADER = precompiled.h
    }
    
    # You can also make your code fail to compile if it uses deprecated APIs.
    # In order to do so, uncomment the following line.
    # You can also select to disable deprecated APIs only up to a certain version of Qt.
    #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
    
    SOURCES += \
            main.cpp \
            person.cpp
    
    # Default rules for deployment.
    qnx: target.path = /tmp/$${TARGET}/bin
    else: unix:!android: target.path = /opt/$${TARGET}/bin
    !isEmpty(target.path): INSTALLS += target
    
    win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../lib/ -lQxOrm
    else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../lib/ -lQxOrmd
    
    INCLUDEPATH += $$PWD/../include
    DEPENDPATH += $$PWD/../include
    
    HEADERS += \
        export.h \
        person.h \
        precompiled.h
    
    

    6、 应用

    #include <QCoreApplication>
    
    #include "precompiled.h"
    #include "person.h"
    #include <QxOrm_Impl.h>
    
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
    
        // Init parameters to communicate with a database
        qx::QxSqlDatabase::getSingleton()->setDriverName("QSQLITE");
        qx::QxSqlDatabase::getSingleton()->setDatabaseName("./test_qxorm.db");
        qx::QxSqlDatabase::getSingleton()->setHostName("localhost");
        qx::QxSqlDatabase::getSingleton()->setUserName("root");
        qx::QxSqlDatabase::getSingleton()->setPassword("");
    
        //建表
        QSqlError daoError = qx::dao::create_table<Person>();
    
        person_ptr p1; p1.reset(new Person());p1->m_name = "Joey";p1->m_age = 35;p1->m_sex = Person::male;
        person_ptr p2; p2.reset(new Person());p2->m_name = "James";p2->m_age = 8;p2->m_sex = Person::male;
        person_ptr p3; p3.reset(new Person());p3->m_name = "Alla";p3->m_age = 36;p3->m_sex = Person::female;
    
        //增
        type_lst_person lst ;
        lst.push_back(p1);
        lst.push_back(p2);
        lst.push_back(p3);
        daoError = qx::dao::insert(lst);
    
        //改
        p2->m_name = "James modified";
        daoError = qx::dao::update(p2);
    
        //删
        // Delete the first person from database
        daoError = qx::dao::delete_by_id(p1);
    
        //查
        long count = qx::dao::count<Person>();
        qDebug()<<"count"<<count;
    
        // 查
        person_ptr d_tmp; d_tmp.reset(new Person());
        d_tmp->m_id =3;
        daoError = qx::dao::fetch_by_id(d_tmp);
        qDebug()<<"id:"<<d_tmp->m_id<<"name:"<<d_tmp->m_name;
    
        //查
        type_lst_person list;
        qx::dao::fetch_all(list);
    
        for(person_ptr p: list)
            qDebug()<<p->m_name<<endl;
    
        return a.exec();
    }
    
    
    

    在这里插入图片描述

    展开全文
  • QxOrm 快速上手

    千次阅读 2020-02-07 22:59:45
    QxOrm 几乎支持所有的主流数据库,比如 SQLite、MySQL、PostgreSQL、Oracle、MS SQL Server、MongoDB 等...
  • QxOrm_1.2.2

    2012-02-28 15:56:24
    QxOrm 是一个 C++ 库用来提供 ORM 功能,基于 Qt 的 QtSql 库。。它提供大部分流行数据库的对象映射机制。
  • qxorm 1.2.6 最新版本

    2014-01-28 22:19:14
    qxorm最新版本 国内上不了外网 所以上传来共享
  • QT5.12.10 MINGW32-X86编译,QxOrm1.4.7,详情见https://www.qxorm.com
  • QxOrm 访问 MySQL

    千次阅读 2020-02-12 22:42:25
    在前面的 QxOrm 章节中,我们已经介绍了对本地数据库的操作,现在是时候介绍对远程数据库的访问了,那么就以最常用的 MySQL 为例吧!在开始之前,首...
  • 1014.QxORM移植

    2020-03-10 17:43:04
    QxORM移植 为了在项目中更好的使用数据库,经过调研选用了,数据库持久化工具QxORM 三方库 1 QxORM 源码下载 https://github.com/QxOrm/QxOrm 2 配置编译 打开cmake 软件,配置源码目录,build编译目录,选择...
  • QxOrmQxOrm库-C ++ Qt ORM(对象关系映射)和ODM(对象文档映射器)库-官方存储库
  • QxOrm 的安装

    千次阅读 2017-05-26 11:04:19
    下载地址:http://www.qxorm.com/qxorm_en/tutorial_3.html 提前条件 :需要翻墙(vpn工具) This tutorial provides a way to install a development environment to work with Qt, boost and QxOrm ...
  • qxorm编译小结

    2020-04-23 21:59:41
    1.由于项目需求,需要在qt环境下完成对象关系映射,在网上找来找去,发现qxorm是个基本符合要求的人。 2.编译版本为qxorm1.4.6,编译环境qt4.8+vs2010 3.编译过程中不要改变原始文件的内容,直接在vs2010中打开....
  • qxorm,开始

    千次阅读 2016-07-04 11:11:36
    在成功配置好qxorm,并应用其自带的代码测试过后,就可以参照其官方文档来编写自己的程序了 这张截图来自于官网,其中几项重要的: 1、qxormd,应用于debug,那么明显的,qxorm应用于release。这两个lib是在编译好...
  • QxOrm编译使用手记

    千次阅读 2016-06-15 16:02:11
    使用QxOrm1.4.1+boost1.42编译成功
  • QxOrm 如果连接 MySQL

    2015-04-11 03:07:45
    有使用过QxOrm的吗?例子中只看到连接SQLITE的,请问如何连接MySQL?还有如何使用QxOrm 同时连接多个数据库呢?
  • QxOrm C ++库:持久性(基于QtSql Qt库)-序列化(基于boost :: serialization库)-反射(自省)
  • C++ 数据库 ORM 框架比较有代表性的有两个:ODB 和 QxOrm,若是使用 QT 开发,建议使用 QxOrmQxOrm 几乎支持所有的主流数据库,比如 SQLite、MySQL、PostgreSQL、Oracle、MS SQL Server、MongoDB 等。 二、下载...
  • QxOrm的学习使用

    千次阅读 2015-02-11 16:41:58
    因工作需要,将原来花了很多时间写的sqlite3的数据库操作模块全部换成QxOrm库来实现数据库操作: 1)将数据库表封装成一个类: xxx.h #include "precomplied.h" class CDerrick { public:  CDerrick(void)...
  • QxOrm-1.4.3

    2018-04-08 15:10:41
    C++ qt平台下的一个目前比较好用的一个的orm库,版本 1.4.3 ,这是从官网下载的最新的版本,官网的版本 用qmake 编译存在一些问题,做了一下修正。另外需要下载boost库一起使用
  • // Init parameters to communicate with a database qx::QxSqlDatabase::getSingleton()-&gt;setDriverName("QSQLITE"); qx::QxSqlDatabase::getSingleton()..../test_qxorm.db"); qx::QxSqlDat...
  • QxOrm笔记(一)

    千次阅读 2015-11-13 23:23:35
    QxOrm笔记(一)之前用过java,mybatis还真是个挺方便的东西,这次开发新系统,觉得需要在c++这边找个类似的东西。 正好用的就是Qt,于是,顺利成章的使用了这个QxOrmQxOrm的编译编译环境是win10+mingw 5.1+Qt ...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 169
精华内容 67
关键字:

QxOrm