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




  • 相关阅读:
    RecyclerView 数据刷新的几种方式 局部刷新 notify MD
    【图片】批量获取几万张图片
    RV BaseRecyclerViewAdapterHelper 总结 MD
    RecyclerView.ItemDecoration 间隔线
    Kotlin【简介】Android开发 配置 扩展
    Kotlin 特性 语法糖 优势 扩展 高阶 MD
    一个十分简洁实用的MD风格的UI主框架
    折叠伸缩工具栏 CollapsingToolbarLayout
    FloatingActionButton FAB 悬浮按钮
    Glide Picasso Fresco UIL 图片框架 缓存 MD
  • 原文地址:https://www.cnblogs.com/osbreak/p/9853139.html
Copyright © 2011-2022 走看看