官网地址: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, 则成功插入一条数据)


最新文章

  1. HTML笔记(四) 框架
  2. JS实现登录页面记住密码和enter键登录
  3. window7 64位安装Python
  4. Excel.Application手册
  5. .Net平台-MVP模式再探(二)
  6. ViewPaper实现轮播广告条
  7. 洛谷 P1019 单词接龙【经典DFS,温习搜索】
  8. Redis数据结构之ziplist
  9. day_9内存管理
  10. 装饰器实现session登陆 验证功能
  11. iOS UI进阶-6.0 手势
  12. 关于Java类和包的那些事
  13. Kubernetes学习之路(十九)之Kubernetes dashboard认证访问
  14. 关于微服务、SOA、以及API的理解
  15. PowerDesigner使用笔记
  16. libev4.15学习
  17. ghost系统下,C#获取时间带星期几的解决办法
  18. ABAP-ITS Mobile
  19. HTML option 标签的 selected 属性
  20. QtGui.QPixmap

热门文章

  1. Linux 笔记 - 第十三章 Linux 系统日常管理之(二)Linux 防火墙和任务计划
  2. CSS3动画animation认识,animate.css的使用
  3. 29道Zookeeper面试题超详细(附答案)
  4. linux初学者小记
  5. selenium-03-常用操作
  6. gym102201E_Eat Economically
  7. Scrapy项目 - 项目源码 - 实现腾讯网站社会招聘信息爬取的爬虫设计
  8. Spring 梳理 - AOP那些学术概念—通知、增强处理连接点(JoinPoint)切面(Aspect)
  9. js 判断字符串是否存在某个字符串
  10. 经典案例复盘——运维专家讲述如何实现K8S落地(摘抄)