CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
ORM 与数据库设计/课时/MariaDB 与 MySQL
RawBlame
课时目录12 节

ORM 与数据库设计

  1. 01ORM 是什么
  2. 02范式与规范化
  3. 03ER 模型
  4. 04JPA 与 Hibernate
  5. 05MyBatis
  6. 06Spring Data 家族
  7. 07Schema 迁移
  8. 08N+1 与抓取策略
  9. 09MariaDB 与 MySQL
  10. 10ORM 与事务
  11. 11反模式
  12. 12综合练习

MariaDB 与 MySQL

兼容性、选型;本站 MySQL8 说明。

30 分钟

MariaDB 与 MySQL

MariaDB 是 MySQL 的开源分支,协议与语法高度兼容。CodeRoadMap 以 MySQL 8.0 为准;本节帮你在 MariaDB 环境或面试选型中不踩坑。

学习目标

  • 理解 MariaDB 与 MySQL 的兼容边界
  • 知道 JDBC 驱动与方言配置
  • 对照 pg-vs-mysql 拓宽选型视野

历史与定位

项目说明
MySQLOracle 维护,8.x 主流
MariaDB原 MySQL 团队分支,Linux 发行版常见默认
协议都 speak MySQL wire protocol

多数 Spring Boot + JPA/MyBatis 项目 换 JDBC URL 即可跑,但细节差异存在。

ORM / 驱动配置

MySQL 8:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/codeforge?useSSL=false&serverTimezone=Asia/Shanghai
    driver-class-name: com.mysql.cj.jdbc.Driver

MariaDB:

spring:
  datasource:
    url: jdbc:mariadb://localhost:3306/codeforge
    driver-class-name: org.mariadb.jdbc.Driver

Hibernate dialect:MySQL8Dialect 或 MariaDB103Dialect,与服务器版本匹配。

常见差异(了解)

topicMySQL 8MariaDB
窗口函数支持10.2+ 支持
JSONJSON 类型 + 函数类似,函数名略有别
认证插件caching_sha2_password可能默认 mysql_native_password
复制 / 引擎InnoDB 为主InnoDB + 部分独有特性

本站 schema.sql 用的 utf8mb4、InnoDB、外键——两者均支持。

本站选型

  1. 教程与 sql-essentials 统一 MySQL 8 语法
  2. 本机 MySQL80 服务降低跟练成本
  3. 云 RDS 国内 MySQL 文档更普及

MariaDB 用户跟练:优先用 Docker 指定版本,遇语法差异查官方 release notes。

相关课程

  • sql-intro
  • pg-vs-mysql
  • sb-jdbc
  • 练习

    • 对比 mysql: 与 mariadb: Docker 镜像的默认端口与版本
    • 在 MariaDB 上执行 schema.sql 中 cf_track 建表语句,记录是否报错
    • 说出一条你会选 PostgreSQL 而非 MySQL/MariaDB 的场景

    小结

    MariaDB ≈ MySQL 兼容替代;本站示例以 MySQL 8 为权威。 下一课讲 ORM 与事务。

    加载本节练习…
    ← 上一课N+1 与抓取策略下一课 →ORM 与事务