c++::Mysql::ORM 開發環境搭建


官網地址:https://www.codesynthesis.com/products/odb/

環境搭建:ubuntu16.04-64

1、安裝mysqlClient

 sudo apt-get install  mysql-client 

2、下載包  odb_2.4.0-1_amd64.deb,  安裝odb工具。

  sudo dpkg -i odb_2.4.0-1_amd64.deb

   

 查看版本:

  

3、 下載安裝 libodb-2.4.0.tar.gz

    ./configure; make; make install

4、下載安裝 libodb-boost-2.4.0.tar.gz

    ./configure; make; make install

5、下載安裝  odb-2.4.0.tar.gz

     ./configure; make; make install

6、下載安裝 libodb-mysql-2.4.0.tar.gz

  ./configure; 

  遇到錯誤:configure: error: libmysqlclient_r is not found;

  解決:find / -name "libmysqlclient*"

  cp /usr/lib/x86_64-linux-gnu/libmysqlclient.so.20.3.11  /usr/lib/x86_64-linux-gnu/libmysqlclient_r.so

  ./configure 通過

  make;make install

7、 linux下mysql orm 開發環境搭好。

 

8、 來測試一下吧。

 

9、 vs2017, 創建跨平台linux項目。

10、將頭文件等拷貝到工程目錄下, 方便編碼和代碼查找。

       cd libodb-2.4.0/  

       cp odb/ /media/sf_WinShareLinux/ormTest/ormTest -R

  cd libodb-mysql-2.4.0/odb/

        cp mysql/ /media/sf_WinShareLinux/ormTest/ormTest/odb/ -R

11、添加包含目錄, 庫目錄

        

   鏈接器>>

        

12、創建數據庫相關的類

#pragma once
#include <string>
#include "odb/core.hxx"  

using namespace std;
//聲明接下來的一個對象是與數據庫相關的類
#pragma db object 
class personinfo
{
public:
    //查詢需要的構造函數
    personinfo() {};
    //插入需要的構造函數
    personinfo(string strName, string strSex, int nAge)
    {
        name = strName;
        sex = strSex;
        age = nAge;
    };

public:
    string name;
    string sex;
    int age;
private:
    //我們將類的構造函數或者將數據成員聲明為私有時,odb的access類可以訪問我們的數據成員和構造函數。
    friend class odb::access; 

    //編號自動增長, #pragma db object 這行代碼添加了, 則該行代碼一定添加, 不然用odb編譯會失敗
#pragma db id auto       
    unsigned long id_;
};

在終端執行: odb -d mysql --generate-query --generate-schema personinfo.h

則會生成如下文件:

13、編譯成功,(拷貝personinfo中的內容建表, 執行.out, 則成功插入一條數據)

 

 

 




 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM