MyBatis 的 Mapper 文件与全局配置文件

本文详细介绍了在SpringBoot应用中如何使用MyBatis的Mapper文件进行SQL映射,包括命名空间的定义、SQL元素的使用以及参数和结果映射。同时概述了MyBatis的全局配置文件,如mybatis-config.xml中的设置和配置。
摘要由CSDN通过智能技术生成

在 Spring Boot 中,MyBatis 的 Mapper 文件是一个 XML 文件,它定义了 SQL 映射和操作数据库所需的 SQL 语句。这些文件通常与数据库表的结构相对应,并提供了执行 CRUD(创建、读取、更新、删除)操作所需的 SQL 语句。

 

### 如何书写 MyBatis 的 Mapper 文件:

 

1. **定义命名空间**:

   Mapper 文件的根元素 `<mapper>` 的 `namespace` 属性应该指定为 SQL 映射的 Java 接口的完全限定名。

 

2. **添加 SQL 映射**:

   在 `<mapper>` 元素内部,可以定义各种 SQL 映射元素,如 `<select>`、`<insert>`、`<update>` 和 `<delete>`。

 

3. **使用参数和结果映射**:

   SQL 语句可以使用 `#{}` 来引用参数,并使用 `resultMap` 来映射查询结果到 Java 对象。

 

以下是一个简单的 MyBatis Mapper 文件示例:

 

```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="BaseResultMap" type="com.example.entity.User">

        <id column="id" property="id"/>

        <result column="username" property="username"/>

        <result column="email" property="email"/>

    </resultMap>

 

    <!-- 查询用户 -->

    <select id="findUserById" resultMap="BaseResultMap">

        SELECT * FROM users WHERE id = #{id}

    </select>

 

    <!-- 插入用户 -->

    <insert id="insertUser" parameterType="com.example.entity.User">

        INSERT INTO users (username, email) VALUES (#{username}, #{email})

    </insert>

 

    <!-- 更新用户 -->

    <update id="updateUser" parameterType="com.example.entity.User">

        UPDATE users SET username = #{username}, email = #{email} WHERE id = #{id}

    </update>

 

    <!-- 删除用户 -->

    <delete id="deleteUser" parameterType="java.lang.Integer">

        DELETE FROM users WHERE id = #{id}

    </delete>

 

</mapper>

```

 

在这个例子中,我们定义了一个名为 `UserMapper` 的接口,它对应于 `com.example.entity.User` 实体类。我们为这个实体类创建了一个 `resultMap`,并定义了四个 SQL 映射:`findUserById`(查询用户)、`insertUser`(插入用户)、`updateUser`(更新用户)和 `deleteUser`(删除用户)。

 

### MyBatis 的全局配置文件:

 

MyBatis 的全局配置文件通常名为 `mybatis-config.xml`,它包含了 MyBatis 的全局设置和配置。这个文件允许你配置 MyBatis 的行为,例如:

 

- 设置日志级别

- 配置类型别名和类型处理器

- 定义缓存和懒加载策略

- 配置事务管理器和数据源

- 开启或关闭下划线到驼峰命名法的自动转换

 

以下是一个简单的 `mybatis-config.xml` 文件示例:

 

```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>

 

    <!-- 开启下划线到驼峰命名法的自动转换 -->

    <settings>

        <setting name="mapUnderscoreToCamelCase" value="true"/>

    </settings>

 

    <!-- 配置类型别名 -->

    <typeAliases>

        <package name="com.example.entity"/>

    </typeAliases>

 

    <!-- 配置 Mapper 文件的位置 -->

    <mappers>

        <mapper resource="com/example/mapper/UserMapper.xml"/>

    </mappers>

 

</configuration>

```

 

在这个配置文件中,我们开启了下划线到驼峰命名法的自动转换,配置了类型别名,指定了 Mapper 文件的位置。这样,当你在 Spring Boot 应用中使用 MyBatis 时,这些全局配置将影响整个 MyBatis 框架的行为。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tin9898

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值