完整标准配置
yaml
# Spring 应用基础配置
spring:
# 项目应用名
application:
name: springboot-practice
# 数据库数据源配置(全部归属 spring.datasource 下)
datasource:
url: jdbc:mysql://localhost:3306/mydb
username: 用户名
password: 密码
driver-class-name: com.mysql.cj.jdbc.Driver
# ⚠️ 重点:mybatis 是根级配置,不能缩进在 spring 下面!
mybatis:
# mapper XML 文件扫描路径
mapper-locations: classpath:mapper/*.xml
configuration:
# 开启SQL控制台打印日志
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# 开启下划线自动转驼峰映射
map-underscore-to-camel-case: true

一、spring.datasource 数据源配置速记
| 配置项 | 含义作用 | 补充说明 |
|---|---|---|
| url | MySQL数据库连接地址 | 格式:jdbc:mysql://ip:端口/数据库名;生产建议追加时区、编码参数 |
| username | 数据库登录账号 | 本地一般root,线上不建议用root |
| password | 数据库登录密码 | 对应MySQL账号密码 |
| driver-class-name | MySQL驱动类 | MySQL8.x:com.mysql.cj.jdbc.Driver MySQL5.x:com.mysql.jdbc.Driver |
拓展补充(生产必加参数):
实际开发建议 url 追加时区、乱码、SSL 参数,完整 url 示例:
jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
- serverTimezone=Asia/Shanghai:解决时区报错,SpringBoot 高版本 MySQL 驱动强制要求;
- characterEncoding=utf8:统一字符集,防止中文乱码。
二、mybatis 根级配置速记(重点避坑)
核心提醒
mybatis 是顶层配置,不能写在 spring 缩进内,否则全部配置失效。
| 配置项 | 含义作用 | 补充说明 |
|---|---|---|
| mapper-locations | 指定MyBatis XML映射文件扫描路径 | classpath:mapper/*.xml 代表读取resources/mapper下所有xml |
| configuration.log-impl | 开启控制台打印完整执行SQL | 开发调试用,生产建议关闭 |
| configuration.map-underscore-to-camel-case | 开启数据库下划线字段自动映射实体驼峰属性 | 例:库user_name → 实体userName,不用手动起别名 |
三、配套依赖备忘
- MySQL驱动
xml
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
- MyBatis整合SpringBoot启动器
xml
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
四、高频坑速查
- 查不到mapper、Invalid bound statement:检查 mapper-locations 路径、xml存放位置
- 实体接收字段全为null:开启 map-underscore-to-camel-case
- 控制台无SQL打印:mybatis缩进错误 / log-impl 配置写错
- 数据库时区报错:url拼接 &serverTimezone=Asia/Shanghai
