如何配置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

相关推荐

发表回复

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

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

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

关注微信