🍺🍺🍺🍺🍺🍺🍺🍺🍺�|

RabbitUvU

园龄:4个月粉丝:0关注:1

Mybatis的Mapper映射文件中常用标签及作用

Mapper映射文件常用标签

1、select - 用于映射 SELECT 语句。此标签用于从数据库中查询数据,并且可以选择返回不同的结果类型。通常需要结合 resultType 或 resultMap 属性来指定结果应该映射到哪种 Java 类型或自定义的结果映射规则。

<select id="selectUsers" resultType="map"> SELECT * FROM users </select>

2、insert - 用于映射 INSERT 语句。此标签允许向数据库表中插入新的记录。可以使用 标签来处理自增主键的情况。

<insert id="insertUser" parameterType="com.example.User"> INSERT INTO users(name, email) VALUES (#{name}, #{email}) </insert>

3、update - 用于映射 UPDATE 语句。此标签允许更新已存在的记录。通常与 标签配合使用来智能地忽略 null 值。

<update id="updateUser" parameterType="com.example.User"> UPDATE users SET name = #{name}, email = #{email} WHERE id = #{id} </update>

4、delete - 用于映射 DELETE 语句。此标签允许从数据库中删除记录。

<delete id="deleteUser" parameterType="int"> DELETE FROM users WHERE id = #{id} </delete>

5、where - 该标签用于处理 SQL 语句中的 WHERE 子句。它能够智能地添加 WHERE 关键字并且自动移除第一个条件前面的逗号。例如,如果动态生成的 SQL 有多个条件,则第一个条件前不会出现不必要的逗号。

6、selectKey - 用于执行一个 SQL 语句来获取数据库自动生成的主键值(如 MySQL 的 AUTO_INCREMENT)。此标签通常与插入语句一起使用,以便在插入新记录后立即获取生成的主键。

7、set - 此标签用于构建 UPDATE 语句中的 SET 子句。它可以智能地忽略值为 null 的属性,从而避免在 UPDATE 语句中设置 null 值。

8、 if - 动态 SQL 标签之一,用于基于表达式的条件来决定是否包含某个子句。只有当测试条件为 true 时,if 标签内部的 SQL 才会被包含在最终的 SQL 语句中。

9、 forEach - 用于迭代集合对象(如 List 或 Map),通常用于构建 IN 条件或者批量更新/插入。它可以遍历集合中的每一个元素来构建最终的 SQL 语句。

10、trim - 用于动态修剪 SQL 语句的前缀或后缀,比如去除多余的空格、括号、逗号等。它包含几个有用的属性,如 prefix, suffix, prefixOverrides, 和 suffixOverrides。

11、choose when otherwise - 这组标签相当于 Java 中的 switch-case 结构。choose 开始一组选择,when 标签指定条件,如果所有 when 条件都不满足,则执行 otherwise 中的 SQL。

12、ResultMap - 用于定义复杂的结果映射规则,包括一对一和一对多的关系映射。通过 resultMap,你可以指定如何将数据库查询结果映射到 Java 对象上。

13、Assocation - 用于处理一对一的关系映射。它通常作为 resultMap 的一部分来使用。

14、Collection - 用于处理一对多的关系映射,同样也是 resultMap 的一部分。它可以处理列表、数组等集合类型的映射。

15、sql - 用于定义可重用的 SQL 代码片段。定义在 sql 标签中的 SQL 代码可以被 include 标签引用。

16、include - 用于引用由 sql 标签定义的 SQL 代码片段,这样可以避免 SQL 代码的重复编写,提高代码的复用性。

17、cache - 用于配置映射器级别的缓存。可以通过 cache 标签来启用或禁用缓存,也可以设置缓存的过期时间等属性。

本文作者:RabbitUvU

本文链接:https://www.cnblogs.com/chengzhenghai/p/18464903

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   RabbitUvU  阅读(12)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起