正版资源【夏曹俊】C++ & Mysql 8.0 数据库跨平台编程实战资源
这门课的主题很明确:用 C++ 直接对接 MySQL 8.0 的 C API,并把代码写到能在 Windows 和 Linux 上跑。它不绕路去讲 ORM 框架,也不停留在 SQL 语法层面,而是从连接、字符集、预处理、事务、锁一路做到存储过程和结果集封装。对已经会写 C++、但一直没把数据库这层打
这门课的主题很明确:用 C++ 直接对接 MySQL 8.0 的 C API,并把代码写到能在 Windows 和 Linux 上跑。它不绕路去讲 ORM 框架,也不停留在 SQL 语法层面,而是从连接、字符集、预处理、事务、锁一路做到存储过程和结果集封装。对已经会写 C++、但一直没把数据库这层打通的人来说,价值在于它给出了一个可对照的工程骨架。
技术栈与它解决的问题域
核心依赖是 MySQL 8.0 自带的 libmysqlclient / mysqlclient 客户端库,编程接口是 C API,外面包一层 C++ 封装。选型上这是很务实的一条路线:C API 稳定、跨平台,MySQL 8.0 又引入了新的默认字符集 utf8mb4 和 caching_sha2_password 认证插件,老代码直接迁移经常在连接阶段就失败。课程把连接参数的坑、认证方式的变化、字符集协商这些实际问题都放进来了,而不是只演示一条 SELECT 语句。
跨平台的部分不是喊口号。Windows 上通常是 GBK 与 UTF-8 混用,Linux 上是 UTF-8 一统,同一份代码两边的表现完全不同。课程里专门有一段讲字符集互转,还把这个转换能力做进自己封装的库函数里,思路是:把编码转换收敛到一个工具层,业务代码不再到处写 setlocale 和 iconv。这是可以直接抄走的结构。
可复用的模块结构
从线索看,课程在逐步搭一个自己的封装库,比较典型的几块:
- 连接管理:把 MYSQL 句柄的初始化、连接、断线重连、关闭包成对象,避免裸句柄到处传。
- 字符集转换层:GBK 与 UTF-8 互转,Windows 上还要处理宽字符,抽成独立函数后复用性最高。
- 结果集接口:简易的 GetResult 实现,把 MYSQL_RES 取行、取字段、类型转换这一套流程固定下来,后面不管查哪张表都能套。
- 事务与锁:显式事务的开启、提交、回滚,以及表锁、行锁在并发写入时的行为差异。
这几块拼起来就是一个迷你数据访问层。它的意义不在于功能多全,而在于边界清楚——哪一层负责编码、哪一层负责 SQL、哪一层负责内存释放,看完能自己判断该不该继续往上加东西。
值得重点看的两块难点
一是中文乱码。这不是一个孤立的小问题,它牵涉到连接字符集、表字符集、客户端本地编码、C++ 字符串字面量编码四个环节,任何一环不一致都会出问题。课程把它拆成互转函数再回填到库里,比单纯告诉你「设成 utf8mb4」要更有操作性。
二是锁。MySQL 的锁行为和存储引擎绑定,InnoDB 的行锁又依赖索引,很多人写事务时并没有意识到自己锁住的范围比想象中大。课程把锁和字符集放在同一章,暗示的是工程视角:数据库编程的坑往往不在语法,而在这些隐性约定。
自学路径与使用方式
建议的对照顺序是先跑通连接和单条查询,把字符集转换函数落地,再实现自己的结果集封装,然后回头补事务和锁,最后用存储过程把一部分逻辑下沉到数据库侧。配套材料里的文档可以当作接口速查,视频更适合对照代码看某一步为什么这么写。
需要提醒的是,这套内容的密度集中在 C API 的调用细节和跨平台差异上,如果你还没写过完整的多文件 C++ 工程,或者对编译链接静态库、动态库还不熟,前置成本会偏高。反过来,如果你手头正好有一个要在 Windows 和 Linux 上部署、又必须直连 MySQL 的服务端模块,这份资料可以当作实现蓝本逐段比对,边改边验证,效率比纯看要高得多。
【夏曹俊】C++ & Mysql 8.0 数据库跨平台编程实战资源
实战跨平台C++与MySQL数据库编程
编辑点评
深入浅出C++与MySQL结合,覆盖字符编码、事务、存储过程等核心内容,实战项目强化技能。
⭐ 编辑推荐
掌握C++数据库编程,提升跨平台开发能力。
实战项目驱动,学以致用。
深入解析MySQL API,强化数据库操作技能。
✨ 课程亮点
课程目录
第6章 跨平台中文乱码问题和mysql锁7 集
- 第6章 跨平台中文乱码问题和mysql锁文档.zip [1.8 MB]
- 6-2windows上字符集gbk和utf8互转.mp4 [122.7 MB]
- 6-4LXMysql库添加字符集转换函数并测试.mp4 [167.0 MB]
- 6-5简易获取数据的接口GetResult实现.mp4 [79.6 MB]
- 6-1字符编码类型mysql设置和转换API分析.mp4 [46.4 MB]
- 6-3linux上字符集GBK和UTF8互转.mp4 [156.1 MB]
- 6-6mysql的表锁和行锁代码示例购票竞争.mp4 [116.0 MB]
第2章 MySQL API开发12 集
- 第2章 MySQL API开发必看.zip [1.8 MB]
- 2-7使用mysqlAPI自动创建表.mp4 [61.0 MB]
- 2-4鑾峰彇缁撴灉闆唌ysql_store_result.mp4 [48.4 MB]
- 2-11一次执行多条sql语句并遍历获取结果集mysql_next_.mp4 [83.9 MB]
- 2-6获取表字段信息并打印全字段数据mysql_fetch_fie.mp4 [57.7 MB]
- 2-8使用MysqlAPI通过INSERT插入一千条数据.mp4 [98.9 MB]
- 2-3mysql数据查询接口分析.mp4 [63.4 MB]
- 2-2mysql连接超时时间和自动重连设置和测试mysql_.mp4 [65.8 MB]
- 2-10DELETE和truncate清理数据.mp4 [53.0 MB]
- 2-9UPDATE修改数据并根据std的map变量自动生成.mp4 [86.1 MB]
- 2-1mysql_real_connect数据库完成连接.mp4 [29.4 MB]
- 2-5遍历并显示结果集mysql_fetch_row.mp4 [51.8 MB]
第5章 插入和读取二进制数据并移植到ubuntu7 集
- 第5章 插入和读取二进制数据并移植到ubuntu说明.png [493.5 KB]
- 5-6完成LXMysql事务的接口封装.mp4 [32.2 MB]
- 5-3完成文件存储接口并读取插入的二进制数据.mp4 [46.1 MB]
- 5-5完成UpdateBin修改二进制数据逇接口并测试.mp4 [63.3 MB]
- 5-2完成二进制文件内容插入的接口InsertBin封装.mp4 [102.3 MB]
- 5-4完成支持map的Update接口并测试修改数据.mp4 [61.7 MB]
- 5-1完成文件读取接口的封装.mp4 [70.5 MB]
第1章 课程介绍和环境准备9 集
- 第1章 课程介绍和环境准备文档.png [493.5 KB]
- 1-4vs2017下载安装说明.mp4 [10.2 MB]
- 1-7linux上mysqlapi项目创建编译运行.mp4 [33.4 MB]
- 1-5vs2017mysqlapi项目创建调用静态库和动态库.mp4 [60.7 MB]
- 1-1课程介绍.mp4 [37.5 MB]
- 1-3mysql_workbench官方图像客户端安装和使.mp4 [22.6 MB]
- 1-8mysql_init_API库的初始化和清理.mp4 [24.9 MB]
- 1-2mysql_server_windows服务器安装.mp4 [67.3 MB]
- 1-6MysqlServer8.0在ubuntu上安装和配置.mp4 [38.5 MB]
第7章 日志审计系统项目实战和课程总结20 集
- 第7章 日志审计系统项目实战和课程总结说明.zip [1.8 MB]
- 7-10Center主循环获取到Agent发送的事件.mp4 [70.0 MB]
- 7-5Agent模块完成IP获取表创建日志插入.mp4 [183.4 MB]
- 7-13Client完成接收用户名和密码输入并替换密码显示为星号.mp4 [79.2 MB]
- 7-2日志审计系统Agent模块项目创建.mp4 [73.5 MB]
- 7-16client完成审计数据获取并完成千万条测试数据插入接口.mp4 [6.7 MB]
- 7-1日志审计系统项目模块分析.mp4 [37.3 MB]
- 7-6Center模块安装配置和数据初始化.mp4 [103.6 MB]
- 7-14client验证用户名密码并检测注入.mp4 [101.2 MB]
- 7-18完成client的like模糊查找.mp4 [30.7 MB]
- 7-4Agent模块完成读取日志主循环.mp4 [40.0 MB]
- 7-3Agent模块完成初始化数据库和日志文件.mp4 [68.4 MB]
- 7-8完成Center用户初始化和日志表审计表和设备表的初始化.mp4 [57.4 MB]
- 7-9完成Center的添加设备.mp4 [39.4 MB]
- 7-17client完成搜索功能并测试百万级数据的有无索引的时间开销.mp4 [97.3 MB]
- 7-12Client跨平台项目创建完成Init初始化.mp4 [46.8 MB]
- 7-11Center完成用正则审计事件存储结果.mp4 [78.1 MB]
- 7-19课程总结和完整代码提供.mp4 [74.8 MB]
- 7-7Center审计策略表安装和策略添加.mp4 [73.8 MB]
- 7-15Client完成分页显示log.mp4 [85.9 MB]
第4章 MySQL API C++封装10 集
- 第4章 MySQL API C++封装资料.zip [1.8 MB]
- 4-6完成Options接口封装设置自动重连和超时并加入命名空间.mp4 [93.5 MB]
- 4-3完成封装的Init和Close接口.mp4 [54.7 MB]
- 4-8完成FetchRow获取一行vector数据并完成自定义类型.mp4 [50.5 MB]
- 4-9完成支持map的Insert插入数据接口封装.mp4 [162.1 MB]
- 4-1MySQLAPIC++封装策略和方法说明.mp4 [28.9 MB]
- 4-5完成Query执行sql语句的接口封装和测试.mp4 [65.6 MB]
- 4-4完成Connect连接数据的接口和测试.mp4 [48.1 MB]
- 4-2LXMysql动态链接库和测试vs2017项目创建.mp4 [88.5 MB]
- 4-7结果集获取StoreResult和清理接口完成并测试.mp4 [59.1 MB]
第3章 事务和存储过程API开发9 集
- 第3章 事务和存储过程API开发文档.png [493.5 KB]
- 3-7分析存储过程调用方法通过代码创建存储过程.mp4 [62.1 MB]
- 3-8通过API调用存储过程并传递参数获取返回值.mp4 [76.1 MB]
- 3-5完成二进制图片的读取和blob插入mysql_stmt.mp4 [111.3 MB]
- 3-2MYSQl事务API代码演示COMMIT_ROLLBACK.mp4 [85.2 MB]
- 3-4mysql_stmt_init插入二进制数据接口分析.mp4 [14.7 MB]
- 3-6完成数据库中二进制数据图片的读取并存储为文件.mp4 [57.9 MB]
- 3-1MYSQL事务特性和用法介绍.mp4 [23.0 MB]
- 3-3比较单条和多条SQL语句及事务插入十万条数据的性能.mp4 [89.6 MB]
适合人群
- C++开发者
- 数据库开发者
- 后端工程师
🎯 学习收获
- 熟练使用C++进行数据库编程
- 掌握MySQL API应用
- 提升跨平台开发能力
🎉 祝您学习愉快!




