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