如何配置MyBatis以连接MySQL数据库?

要在MyBatis中配置MySQL数据库,首先需要在mybatisconfig.xml文件中添加一个数据源(DataSource)和一个会话工厂(SqlSessionFactory)。在数据源中指定数据库的驱动类、URL、用户名和密码。将数据源添加到会话工厂中。

在使用MyBatis框架进行数据库操作时,首先需要配置数据库连接信息,小编将介绍如何配置MySQL数据库,并使用MyBatis进行连接。

mybatis 配置mysql数据库_使用MyBatis连接数据库
(图片来源网络,侵删)

1. 添加依赖

在项目的pom.xml文件中添加MyBatis和MySQL驱动的依赖:

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.6</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysqlconnectorjava</artifactId>
    <version>8.0.23</version>
</dependency>

2. 创建数据库连接池

src/main/resources目录下创建mybatisconfig.xml配置文件,并配置数据库连接池:

<?xml version="1.0" encoding="UTF8"?>
<!DOCTYPE configuration PUBLIC "//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis3config.dtd">
<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLEDDATASOURCE">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/test?useSSL=false&amp;serverTimezone=UTC"/>
                <property name="username" value="root"/>
                <property name="password" value="password"/>
            </dataSource>
        </environment>
    </environments>
    ...
</configuration>

3. 创建Mapper接口

mybatis 配置mysql数据库_使用MyBatis连接数据库
(图片来源网络,侵删)

src/main/java目录下创建UserMapper.java接口,定义数据库操作方法:

package com.example.mapper;
import com.example.entity.User;
import java.util.List;
public interface UserMapper {
    List<User> findAll();
    User findById(Integer id);
    void insert(User user);
    void update(User user);
    void delete(Integer id);
}

4. 创建Mapper映射文件

src/main/resources目录下创建UserMapper.xml映射文件,编写SQL语句:

<?xml version="1.0" encoding="UTF8" ?>
<!DOCTYPE mapper PUBLIC "//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis3mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper">
    <resultMap id="UserResultMap" type="com.example.entity.User">
        <id property="id" column="id"/>
        <result property="username" column="username"/>
        <result property="password" column="password"/>
        <result property="email" column="email"/>
    </resultMap>
    <select id="findAll" resultMap="UserResultMap">
        SELECT * FROM user
    </select>
    <select id="findById" resultMap="UserResultMap" parameterType="integer">
        SELECT * FROM user WHERE id = #{id}
    </select>
    <insert id="insert" parameterType="com.example.entity.User">
        INSERT INTO user (username, password, email) VALUES (#{username}, #{password}, #{email})
    </insert>
    <update id="update" parameterType="com.example.entity.User">
        UPDATE user SET username = #{username}, password = #{password}, email = #{email} WHERE id = #{id}
    </update>
    <delete id="delete" parameterType="integer">
        DELETE FROM user WHERE id = #{id}
    </delete>
</mapper>

5. 测试数据库连接

src/main/java目录下创建Main.java类,编写测试代码:

mybatis 配置mysql数据库_使用MyBatis连接数据库
(图片来源网络,侵删)
package com.example;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import com.example.mapper.UserMapper;
import com.example.entity.User;
import java.io.IOException;
import java.io.Reader;
import java.util.List;
public class Main {
    public static void main(String[] args) throws IOException {
        // 读取MyBatis配置文件
        Reader reader = Resources.getResourceAsReader("mybatisconfig.xml");
        // 创建SqlSessionFactory
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
        // 获取SqlSession
        SqlSession sqlSession = sqlSessionFactory.openSession();
        try {
            // 获取UserMapper接口的实现类对象
            UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
            // 调用findAll方法查询所有用户
            List<User> users = userMapper.findAll();
            // 输出查询结果
            for (User user : users) {
                System.out.println(user);
            }
        } finally {
            sqlSession.close();
        }
    }
}

运行Main.java,如果能够正常输出查询结果,说明MyBatis已经成功连接到了MySQL数据库。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2024-08-10 06:09
下一篇 2024-08-10 06:14

相关推荐

  • 统计网报错了导致数据无法提交该怎么办?

    在数字化办公日益普及的今天,网上统计直报已成为企业、机构及各级单位向上级主管部门报送数据的核心渠道,当面对“统计网报错了”的提示时,许多填报人员常会感到手足无措,这不仅影响工作效率,若延误上报,还可能带来不必要的麻烦,多数报错问题都有规律可循,通过系统性的排查与应对,通常能得到有效解决,冷静分析,定位问题根源遇……

    2025-10-08
    0035
  • idea忽略xml报错怎么操作?

    在软件开发过程中,XML(可扩展标记语言)因其结构化和可扩展的特性,常被用于配置文件、数据交换和文档存储,当项目规模扩大或技术栈复杂化时,XML报错可能成为开发者频繁遇到的难题,本文将探讨如何有效忽略XML报错,同时确保代码的稳定性和可维护性,并提供实用策略和最佳实践,XML报错的常见原因XML报错通常源于语法……

    2025-11-10
    005
  • 共享流量包怎么创建?共享流量包开通方法

    共享流量包创建是运营商及虚拟运营商实现资源精细化运营、降低用户通信成本的核心策略,其本质是通过技术手段将流量资源池化,实现多用户、多终端间的灵活分配与高效利用,直接提升ARPU值(每用户平均收入)并增强用户粘性,核心价值与商业逻辑流量经营已从单纯的“管道模式”转向“内容+资源”的双轮驱动模式,共享流量包创建不仅……

    2026-03-29
    009
  • 星型服务器架构的工作原理是什么?

    星型服务器架构是一种网络拓扑结构,其中一个中心节点(通常是服务器)直接连接到多个外围节点(如工作站、终端设备等),形成星形的连接模式。这种结构便于集中管理,但中心节点故障将影响整个网络。

    2024-07-29
    007

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信