SpringBoot 集成 Mysql
时间: 2025-06-13 10:58:32 浏览: 12
### SpringBoot 集成 Mysql 配置教程与示例
在 SpringBoot 项目中集成和配置 MySQL 数据库,需要完成以下内容:添加依赖、配置数据库连接信息以及确保项目的正常运行。以下是详细的配置过程。
#### 1. 添加 Maven 依赖
在 `pom.xml` 文件中添加 MySQL 和 MyBatis 相关的依赖。以下是一个完整的示例:
```xml
<dependencies>
<!-- Spring Boot Starter JDBC -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- Spring Boot Starter Data JPA -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- MySQL Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.3.0</version>
</dependency>
<!-- MyBatis Generator (可选) -->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.4.1</version>
</dependency>
</dependencies>
```
#### 2. 配置 application.yml 或 application.properties
根据实际需求选择使用 `application.yml` 或 `application.properties` 来配置 MySQL 数据源信息。
##### 使用 `application.yml`
```yaml
server:
port: 8080
spring:
datasource:
url: jdbc:mysql://localhost:3306/your_database_name?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false
username: your_username
password: your_password
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
mapper-locations: classpath:mapper/*.xml
configuration:
map-underscore-to-camel-case: true
logging:
level:
root: INFO
```
##### 使用 `application.properties`
```properties
# 数据库驱动
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 数据源名称
spring.datasource.name=your_datasource_name
# 数据库连接地址
spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false
# 数据库用户名&密码
spring.datasource.username=your_username
spring.datasource.password=your_password
# MyBatis 配置
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.configuration.map-underscore-to-camel-case=true
# 日志级别
logging.level.root=INFO
```
#### 3. 创建实体类与 Mapper 接口
创建与数据库表对应的实体类,并定义 MyBatis 的 Mapper 接口。例如:
##### 实体类 `User.java`
```java
public class User {
private Long id;
private String name;
private Integer age;
// Getters and Setters
}
```
##### Mapper 接口 `UserMapper.java`
```java
@Mapper
public interface UserMapper {
@Select("SELECT * FROM user WHERE id = #{id}")
User findById(Long id);
@Insert("INSERT INTO user (name, age) VALUES (#{name}, #{age})")
void insert(User user);
}
```
##### Mapper XML 文件(如果需要)
在 `resources/mapper/UserMapper.xml` 中定义 SQL 映射:
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper">
<select id="findById" resultType="com.example.entity.User">
SELECT * FROM user WHERE id = #{id}
</select>
<insert id="insert">
INSERT INTO user (name, age) VALUES (#{name}, #{age})
</insert>
</mapper>
```
#### 4. 测试数据库连接
在 SpringBoot 启动类或测试类中验证数据库连接是否成功。例如:
```java
@SpringBootTest
class DatabaseTest {
@Autowired
private UserMapper userMapper;
@Test
void testDatabaseConnection() {
User user = userMapper.findById(1L);
assertNotNull(user);
System.out.println("User Name: " + user.getName());
}
}
```
---
### 注意事项
1. 确保 MySQL 数据库已正确安装并运行,且数据库和表已创建[^2]。
2. 如果使用 SSL 连接,请确保证书配置正确,或者通过 `useSSL=false` 禁用 SSL[^3]。
3. 在 Linux 环境下,可以编辑 `my.cnf` 文件以优化 MySQL 性能;在 Windows 环境下,则编辑 `my.ini` 文件[^4]。
---
阅读全文
相关推荐




















