ORM:ODB安装使用过程

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 1.下载odb-2.4.0-i686-windows,是cpp和sql文件生成工具,已经编译好了,如果下odb-2.4.0估计是未编译好的这个项目;   2.将...\odb-2.4.0-i686-windows\bin添加到环境变量Path,以便能使用odb.

1.下载odb-2.4.0-i686-windows,是cpp和sql文件生成工具,已经编译好了,如果下odb-2.4.0估计是未编译好的这个项目;

 
2.将...\odb-2.4.0-i686-windows\bin添加到环境变量Path,以便能使用odb.exe进行命令生成文件;
 
3.cmd进入到HelloWorld的person.hxx的同目录,输入odb -d mysql --generate-query person.hxx

生成person-odb.cxx、person-odb.hxx、person-odb.ixx三个文件;

 

3.下载libodb-2.4.0,这个是普通的lib,编译;


4.下载libodb-sqlite-2.4.0,这个是用sqlite数据库用到的,如果需要用mysql数据库,就得下载libodb-mysql-2.4.0版本的,特别注意,在libodb-sqlite-2.4.0项目有一个 LIBODB_SQLITE_DYNAMIC_LIB预处理宏,如果在编译sqlite.lib时没有添加 SQLITE_ENABLE_UNLOCK_NOTIFY预处理宏,编译libodb-sqlite-2.4.0就会报错,所找不到connection函数的定义,我是直接下载别人编译好的sqlite.lib,就出现了这问题,估计是没有添加这个预处理宏了,那怎么办,那就将libodb-sqlite-2.4.0项目的LIBODB_SQLITE_DYNAMIC_LIB预处理宏定义去掉,就可以成功编译通过。
 
5.odb -d mysql --generate-query --generate-schema person.hxx(手册里用这句生成了person.sql,而换成sqlite的话又没有东西生成,估计sqlite不需要吧)。
 
6.在官网提供的hello例子项目里添加:
...........\odb2.4.0\libodb-2.4.0;
............\odb2.4.0\libodb-sqlite-2.4.0;
.............\sqlite3;
头文件导入目录,其中省略号为你的文件夹对应的路径。
lib目录也是需要的:
..............\odb2.4.0\libodb-2.4.0\lib;
...............\odb2.4.0\libodb-sqlite-2.4.0\lib
同事也得添加依赖:
odb-sqlite-d.lib
odb-d.lib
 
之后就可以运行了!
 
ODB Compiler为ODB生成数据库支持代码文件工具,下windows版本即可;(必须)
Common Runtime Libraries 核心lib库;(必须)
Database Runtime Libraries 数据库lib库;(必须,下自己需要用到的数据库对应的版本即可)
其他的随意。
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
关系型数据库 MySQL Java
解决在ideal中导入MySql包,文件夹里面下载的有。但在ideal中无法引用的问题
解决在ideal中导入MySql包,文件夹里面下载的有。但在ideal中无法引用的问题
74 0
|
2月前
|
关系型数据库 MySQL 数据库
ORM对mysql数据库中数据进行操作报错解决
ORM对mysql数据库中数据进行操作报错解决
85 2
|
6月前
|
编译器 数据处理 C++
Visual Studio配置并编译C++环境下GDAL库、SQLite环境与PROJ库的方法
Visual Studio配置并编译C++环境下GDAL库、SQLite环境与PROJ库的方法
328 1
|
存储 数据可视化 NoSQL
Qt Creator的CDB调试器--使用技巧与解决调试很慢的心得,重点是Symbols Path设置
Qt Creator的CDB调试器--使用技巧与解决调试很慢的心得,重点是Symbols Path设置
2656 0
Qt Creator的CDB调试器--使用技巧与解决调试很慢的心得,重点是Symbols Path设置
|
关系型数据库 MySQL 数据库
Qt+MySql开发笔记:Qt5.9.3的mingw32版本编译MySql8版本驱动并Demo连接数据库测试
之前特定的mysql版本msvc版本已经调通了,但是为了更好的跨平台,所以选择用mingw32版本,于是需要编译mysql驱动的mingw32版本的驱动库,以便提供给qt连接mysql使用。
Qt+MySql开发笔记:Qt5.9.3的mingw32版本编译MySql8版本驱动并Demo连接数据库测试
【问题记录】启动 Navicat 的过程中,遇到:Missing required library sqlite.dll,998
【问题记录】启动 Navicat 的过程中,遇到:Missing required library sqlite.dll,998
【问题记录】启动 Navicat 的过程中,遇到:Missing required library sqlite.dll,998
|
关系型数据库 MySQL 数据库连接
Qt+MySql开发笔记:Qt5.9.3的msvc2017x64版本编译MySql8.0.16版本驱动并Demo连接数据库测试
mysql驱动版本msvc2015x32版本调好, mysql的mingw32版本的驱动上一个版本编译并测试好,有些三方库最低支持vs2017,所以只能使用msvc2017x64,基于Qt5.9.3,于是本篇编译mysql驱动的msvc2017x64版本,满足当前的特定需求,这次过程有点费劲,可能是Qt的版本低于Qt5.12,继续无保留分享出来。   本篇主要描述Qt5.9.3 msvc2017x64 + mysql8.0.16的驱动编译过程。
|
SQL 关系型数据库 MySQL
C++ ORM ODB入门
1.ORM ORM, Object Relational Mapping, 对象关系映射,用来将基于对象的数据结构映射到SQL的数据结构中。即将基于对象的数据映射到关系表中的字段,然后我们可以通过对象提供的接口来操作数据库,而无需写sql语句来操作数据库。
6225 0