在使用 MyBatis 访问 MySQL 时,你需要配置 mybatis-config.xml 文件以及对应的数据库连接参数。以下是完整的步骤和示例,帮助你实现 MyBatis 与 MySQL 的连接。
✅ 一、准备 MySQL 数据库
-
安装 MySQL(如果尚未安装):
sudo apt install mysql-server -
创建数据库和用户:
CREATE DATAbase mydb; CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword'; GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost'; FLUSH PRIVILEGES;
✅ 二、配置 MyBatis
1. 创建 mybatis-config.xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.5.0//EN"
"http://mybatis.org/dtd/mybatis-3.5.0.dtd">
<configuration>
<environments default="development">
<environment id="development">
<jdbc-type-mapper>
<map-key-type>
<type>java.lang.String</type>
</map-key-type>
<map-value-type>
<type>java.lang.String</type>
</map-value-type>
</jdbc-type-mapper>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC"/>
<property name="username" value="myuser"/>
<property name="password" value="mypassword"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/example/YourMapper.java"/>
</mappers>
</configuration>
2. 创建 Mapper 接口(YourMapper.java)
package com.example;
import com.example.model.User;
import java.util.List;
public interface UserMapper {
List<User> selectAll();
}
3. 创建 User 模型类(User.java)
package com.example.model;
public class User {
private int id;
private String name;
private String email;
// Getters and Setters
}
✅ 三、编写 Spring Boot 应用(可选)
如果你使用的是 Spring Boot,可以使用 @Configuration 或 @MapperScan 注解来扫描 Mapper 接口。
示例 Spring Boot 启动类:
package com.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MyBatisApp {
public static void main(String[] args) {
SpringApplication.run(MyBatisApp.class, args);
}
}
✅ 四、运行应用并测试
-
启动 Spring Boot 应用:
java -jar your-app.jar -
访问 MyBatis 接口:
@RestController public class UserController { @Autowired private UserMapper userMapper; @GetMapping("/users") public List<User> getAllUsers() { return userMapper.selectAll(); } }
✅ 五、其他注意事项
-
MySQL 驱动:确保使用
mysql-connector-java,可通过 Maven 添加依赖:<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.33</version> </dependency> -
连接参数:根据你的 MySQL 配置修改
mybatis-config.xml中的url。
✅ 六、可选:使用 Docker 运行 MySQL
如果你希望使用 Docker 运行 MySQL,可以使用以下命令:
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=myrootpass -d mysql:8.0
然后修改 mybatis-config.xml 中的 url 为:
<property name="url" value="jdbc:mysql://mysql-container:3306/mydb?useSSL=false&serverTimezone=UTC"/>
✅ 总结
| 操作 | 说明 |
|---|---|
| 安装 MySQL | 安装 MySQL 服务器和客户端 |
| 创建数据库 | 创建数据库和用户 |
| 配置 MyBatis | 配置 mybatis-config.xml |
| 创建 Mapper | 创建 Mapper 接口和模型类 |
| 创建 Spring Boot 应用 | 用于运行和测试 |
| 连接 MySQL | 通过 JDBC 连接 MySQL 数据库 |
如需进一步优化或使用其他框架(如 Spring Data JPA、Spring Boot Actuator 等),也可以提供更具体的需求,我可以继续帮你优化。


