一、什么是mybatis?

MyBatis 是一个支持自定义 SQL、存储过程以及高级映射的持久层框架,简化了数据库操作和对象关系映射。

二、作用是什么?

根据我的理解,除了代码更加完善外,还可以使开发者可以更方便地进行数据库查询、插入、更新和删除操作,而不需要编写大量的重复代码。

三、使用mybatis配置文件的步骤

MyBatis 的配置文件主要用于配置数据库连接、映射器 (Mapper) 和其他全局设置。

1. 基本结构

MyBatis 配置文件通常命名为 mybatis-config.xml,基本结构如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>
<!-- 配置内容 -->
</configuration>

2. 环境配置 (Environments)

用于配置数据库连接环境,包含多个 <environment> 标签,每个标签定义一个数据库连接环境。

<environments default="development">

<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="路径"/>
<
property name="url" value="jdbc:mysql://localhost:端口号/mydatabase"/>

<property name="username" value="username"/>
<property name="password" value="password"/>
</dataSource>
</environment>
</environments>

3. 映射器配置 (Mappers)

用于指定 SQL 映射文件或映射器接口的位置。

<mappers>
<mapper resource="mappers/UserMapper.xml"/>
<!-- 或者使用接口扫描 -->
</mappers>

4.resources 文件夹中的 XML 文件( Mapper 文件)

假设有一个 User 表,结构如下:

CREATE TABLE User (
id INT PRIMARY KEY,
username VARCHAR(50),
password VARCHAR(50),
email VARCHAR(100)
);

那么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">
<resultMap id="userResultMap" type="com.example.domain.User"> <id property="id" column="id"/>
<result property="username" column="username"/>
<result property="password" column="password"/>
<result property="email" column="email"/> </resultMap>
<select id="selectUserById" parameterType="int" resultMap="userResultMap"> SELECT id, username, password, email FROM User WHERE id = #{id} </select> 
</mapper>

四、配置步骤总结

  1. 创建配置文件:在项目的 resources 目录下创建 mybatis-config.xml 文件。
  2. 配置数据库环境:在 <environments> 标签中配置数据库连接信息。
  3. 配置映射器:在 <mappers> 标签中指定 SQL 映射文件或映射器接口。
  4. 加载配置文件:在 Java 代码中使用 MyBatis API 加载配置文件并初始化 SqlSessionFactory。