0. 前言
系列文章拖更有段日子了,希望之前的内容还没忘光……
前几篇文章大概讲了Windows
环境下MySQL
的安装和基本SQL
语句,明白了如何在Windows
控制台上进行数据库(database
)和表格(table
)的增删改查。
但是,如果在自己的软件中想要用到MySQL
,是不可能通过控制台的,从本文起,将占用几篇博客来一起搞清楚怎么在自己的C++
软件中使用MySQL
。
本文主要参考官方文档MySQL Connector/C++ 8.0 Developer Guide。
系列文章回顾:
MySQL学习(1)-Windows环境安装和配置
MySQL学习(2)-基本概念、数据类型和简单语句
MySQL学习(3)-表格的“改”和“查”
MySQL学习(4)-批量执行SQL语句及导入记录文件
1. Connector
想要使用C++
来使用MySQL
需要使用到一个官方叫做Connector
的东西,其实就是需要使用到的头文件和lib/dll
库文件。
如果安装了MySQL
将会在安装目录的/Connector C++ x.x
的子目录下看到它(x.x
是版本号):
如果万一没看到,也可以在此处下载C++
的连接器。
根据官方文档的描述,MySQL
的Connector/C++
支持X DevAPI
和JDBC-based API
。
-
X DevAPI
是MySQL
实现的函数接口,使用了MySQL
的X Protocol
,需要MySQL
服务器启用X Plugin
功能。看得不太明白也没有关系,百度也搜不到太多介绍,此处知道它是一种风格的API接口即可。
-
JDBC 是Java数据库连接,大概理解为一系列面向关系型数据库的交互接口,有很多数据库都采用这种方式连接,它可以直接调用 SQL 命令,这意味着之前学的控制台指令能够直接在
C++
中使用。
2. 环境依赖
2.1 MSVC编译器
在有了Connector/C++
之后,还需要注意编译器的兼容性。Windows
平台编译使用了Connector/C++
的工程依赖MSVC
编译器,官方说明文档的要求如下图,不想看英文也可以看下面的表格:
Connector版本 | 需要的MSVC编译器版本 |
---|---|
≥ 8.0.19 | MSVC 2017(不能使用静态JDBC库) 或 MSVC 2019 |
8.0.14 ~ 8.0.18 | MSVC 2015 或 MSVC 2017 |
< 8.0.14 | MSVC 2015 |
如果编译器版本不对应,可以在微软官网下载MSVC
编译器,拖到下方的可再发行组件和生成工具处下载然后安装。
也可以在MySQL官网下载历史版本。
2.2 X Plugin
上面提到,使用X DevAPI
需要MySQL
服务器开启X Plugin
功能。从MySQL 8
开始默认开启了X Plugin
功能。可以稍微了解一下关于它的一些操作:
- 使用
SHOW plugins;
语句查看已安装的插件,如果看到mysqlx
插件即说明成功安装; - 如果不想开启该功能,可以在配置文件中添加
mysqlx=0
,或者在启动服务时添加参数--mysqlx=0
或--skip-mysqlx
; - 关于
X Plugin
的更多信息请参考官方文档X Plugin。
3. 小结
MySQL
提供了官方的C++
接口,叫做连接器,在安装目录下可以找到它,包含一些头文件和库文件;C++
连接器提供了2种风格的接口:JDBC
和X DevApi
,感觉上前者比较自由,后者是较为高级(抽象程度高)的API
;- 连接器的使用存在环境要求,基本上需要较高版本的
MSVC
编译器,具体参考连接器的版本选择;
如有错误欢迎指正,共同进步~
今天你学废了吗?