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




  • 相关阅读:
    Agile software architecture design document style..( sketches and no UMLs)
    spring mvc 使用Optional
    API reference for many languages..
    Java 8: Lambdas和新的集合Stream API
    Java 8 Stream API Example Tutorial
    小团队开发管理工具:gitlab+redmine+testlink+jenkins
    达到一定高度,回到头部的代码
    一款非常简单的android音乐播放器源码分享给大家
    高仿精仿开心网应用android源码
    很不错的安卓FadingActionBar控件源码
  • 原文地址:https://www.cnblogs.com/osbreak/p/9853139.html
Copyright © 2020-2023  润新知