MyBatis 连接 MySQL 数据库指南

MyBatis 是一种用于数据库交互的优秀框架,它可以帮助开发者更方便地进行增删改查操作。但刚入门的小白在使用 MyBatis 连接 MySQL 数据库时可能会遇到各种问题。本文将逐步引导你如何完成这个过程。

整体流程

下面是使用 MyBatis 连接 MySQL 数据库的整体流程。在开始之前,你需要确保你已经安装了 MySQL 数据库,并且具备基本的开发环境。

步骤 描述
1 创建 MySQL 数据库及表
2 添加 MyBatis 及 MySQL 驱动相关依赖
3 创建 MyBatis 配置文件及映射文件
4 编写实体类和接口
5 测试数据库连接

详细步骤

现在,让我们一步一步来实现这些步骤。

步骤 1:创建 MySQL 数据库及表

首先,确保你已经安装并运行了 MySQL,接下来创建一个数据库和一张表。

CREATE DATABASE mybatis_test; -- 创建数据库
USE mybatis_test; -- 使用数据库
CREATE TABLE user ( -- 创建user表
    id INT PRIMARY KEY AUTO_INCREMENT, -- 自增主键
    name VARCHAR(100) NOT NULL -- 用户名
);

步骤 2:添加 MyBatis 及 MySQL 驱动相关依赖

在你的 Java 项目中需要添加 MyBatis 和 MySQL 驱动的依赖。如果你使用 Maven 作为构建工具,可以在 pom.xml 文件中添加以下依赖:

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.7</version>  <!-- 版本可根据最新信息调整 -->
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.27</version> <!-- 版本可根据最新信息调整 -->
</dependency>

步骤 3:创建 MyBatis 配置文件及映射文件

创建一个 MyBatis 的配置文件 mybatis-config.xml,可以放在 src/main/resources 目录下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    "
<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis_test?useSSL=false&serverTimezone=UTC"/>
                <property name="username" value="your_username"/> <!-- 替换为你的MySQL用户名 -->
                <property name="password" value="your_password"/> <!-- 替换为你的MySQL密码 -->
            </dataSource>
        </environment>
    </environments>
</configuration>

然后,创建一个映射文件 UserMapper.xml,同样放在 src/main/resources 目录下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "
<mapper namespace="com.example.mapper.UserMapper">
    <select id="getUserById" parameterType="int" resultType="com.example.model.User">
        SELECT * FROM user WHERE id = #{id}
    </select>
</mapper>

步骤 4:编写实体类和接口

创建一个实体类 User.java,表示用户数据:

package com.example.model;

public class User {
    private int id; // 用户ID
    private String name; // 用户名

    // 生成 getters 和 setters
    public int getId() { return id; }
    public void setId(int id) { this.id = id; }
    
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
}

创建一个数据访问接口 UserMapper.java,用于操作用户数据:

package com.example.mapper;

import com.example.model.User;

public interface UserMapper {
    User getUserById(int id); // 根据ID查询用户
}

步骤 5:测试数据库连接

最后一步,在你的主程序中测试数据库连接和查询:

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.InputStream;

public class Main {
    public static void main(String[] args) {
        String resource = "mybatis-config.xml";
        InputStream inputStream = Main.class.getClassLoader().getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        
        try (SqlSession session = sqlSessionFactory.openSession()) {
            UserMapper mapper = session.getMapper(UserMapper.class);
            User user = mapper.getUserById(1); // 查询ID为1的用户
            System.out.println("User ID: " + user.getId() + ", Name: " + user.getName());
        }
    }
}

可视化数据流程

以下是 MyBatis 数据库连接的过程,使用饼状图表示:

pie
    title MyBatis 连接 MySQL 数据库流程
    "创建数据库和表": 20
    "添加依赖": 20
    "配置 MyBatis": 20
    "编写实体和接口": 20
    "测试查询": 20

总结

通过以上步骤,我们成功实现了 MyBatis 连接 MySQL 数据库的基本功能。确保在开发环境中正确配置 MyBatis 和数据库连接,遇到错误时可以根据日志进行调试。如果你遵循以上步骤并仔细检查每一个环节,你将能够顺利连接 MySQL 数据库并进行数据操作!如果有进一步问题或疑问,欢迎继续探索或交流。