zoukankan      html  css  js  c++  java
  • 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, 则成功插入一条数据)




  • 相关阅读:
    使用Beautiful Soup扒取指定标题
    平时笔记
    2017年暑期大数据培训小记
    ZoomIt的使用方法
    ASP.NET使用富文本控件KindEditor(一步到位,亲测有效)
    ASP.NET使用Ajax返回Json对象
    Python简易爬虫
    Class.forName()用法详解
    【4-1】js函数、事件、补充知识
    【3-30】document获取、事件、标记样式
  • 原文地址:https://www.cnblogs.com/osbreak/p/9853139.html
Copyright © 2011-2022 走看看