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, 则成功插入一条数据)




  • 相关阅读:
    安全测试WEB安全渗透测试基础知识(三)
    二次开发的Selenium Demo版本
    服务端性能测试工具校验v1.2
    渗透H5棋牌游戏棋牌游戏开发
    安全测试WEB安全渗透测试基础知识(一)
    源码网址
    使用ScribeFire写网易博客 imsho@126的日志 网易博客
    ScribeFire:和firefox完美结合的博客离线编辑器 博客联盟
    如何设置让 Everything 在 Win7 下开机启动 小众软件
    流言终结者——C语言内存管理 michael的个人空间 开源中国社区
  • 原文地址:https://www.cnblogs.com/osbreak/p/9853139.html
Copyright © 2011-2022 走看看