首页 > 其他分享 >Mybatis的Mapper映射文件中常用标签

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

时间:2024-10-14 21:25:34浏览次数:7  
标签:语句 Mapper name 映射 标签 id user Mybatis email

"mapper" :
是整个映射文件的根元素, 包含了所有的其他标签, 有一个重要的属性: namespace, 用来指定映射文件对应的接口的全限定名, 保证多个映射文件中使用相同的ID不会产生冲突, 因为每个ID都是基于其命名空间唯一的

点击查看代码
<mapper namespace="com.example.mapper.UserMapper">
    <!-- 其他标签 -->
</mapper>
"select"、"insert"、"update"、"delete" : 这四个标签分别对应了CRUD(新建, 读取, 更新, 删除)四种基本操作, 被用来定义相应的SQL语句 "select" : 定义查询语句 "insert" : 定义插入语句 "update" : 定义更新语句 "delete" : 定义删除语句
点击查看代码
<select id="getUserById" parameterType="int" resultType="User">
    SELECT * FROM user WHERE id = #{id}
</select>

<insert id="insertUser" parameterType="User">
    INSERT INTO user (name, email) VALUES (#{name}, #{email})
</insert>
......
"resultMap" : 标签用于描述如何将结果集映射到Java对象上。它允许你指定列名与对象属性之间的映射关系,特别是当表字段名与对象属性名不一致时非常有用
点击查看代码
<resultMap id="userResultMap" type="User">
    <id property="id" column="user_id"/>
    <result property="name" column="user_name"/>
    <result property="email" column="email_address"/>
</resultMap>
"sql" : 标签定义了可以被其他语句引用的可重用的SQL片段
点击查看代码
<sql id="userColumns">id, name, email</sql>
"if" : 标签用于条件判断,如果测试表达式为真,则包含该部分SQL片段
点击查看代码
<if> 标签用于条件判断,如果测试表达式为真,则包含该部分SQL片段
"choose", "when", "otherwise" 标签 这些标签组合起来提供了类似于Java中的switch-case结构。"choose" 包含一个或多个 "when" 和一个可选的 "otherwise"。只有第一个满足条件的 "when" 会被执行,如果没有满足的条件且存在 "otherwise",则执行 "otherwise"
点击查看代码
<select id="findUserByCondition" parameterType="map" resultType="User">
    SELECT * FROM user
    <where>
        <choose>
            <when test="id != null">
                id = #{id}
            </when>
            <when test="email != null and email != ''">
                email = #{email}
            </when>
            <otherwise>
                state = 'ACTIVE'
            </otherwise>
        </choose>
    </where>
</select>
"foreach" : 标签用来迭代集合,通常用于IN子句或批量插入/删除。

属性:
"collection": 要迭代的集合属性名(通常是传入参数的名字)
"item": 集合中的每个元素的别名
"index": 集合索引的别名(可选)
"open": 开始字符串(例如:"( ")
"separator": 分隔符(例如:",")
"close": 结束字符串(例如:")")

点击查看代码
<select id="selectUsersInList" parameterType="list" resultType="User">
    SELECT * FROM user
    WHERE id IN
    <foreach collection="list" item="itemId" open="(" separator="," close=")">
        #{itemId}
    </foreach>
</select>

<insert id="batchInsert" parameterType="java.util.List">
    INSERT INTO user (name, email) VALUES
    <foreach collection="list" item="user" separator=",">
        (#{user.name}, #{user.email})
    </foreach>
</insert>
"trim", "where", "set" 标签 : 这些标签用来简化SQL语句的编写,自动处理一些常见的问题,如去除多余的AND/OR关键字,或者在SET子句中添加逗号。

"trim" : 自定义前缀和后缀,并可以移除指定的内容。
"where" : 如果有内容则添加WHERE关键字,并且会移除可能存在的多余AND/OR。
"set" : 用于UPDATE语句,它会添加SET关键字,并且会移除最后一个逗号。
属性:
"prefix": 添加到开始的字符串
"suffix": 添加到结束的字符串
"prefixOverrides": 移除前面的字符串
"suffixOverrides": 移除后面的字符串

点击查看代码
<update id="updateUser" parameterType="User">
    UPDATE user
    <set>
        <if test="name != null">name=#{name},</if>
        <if test="email != null">email=#{email},</if>
    </set>
    WHERE id = #{id}
</update>

<select id="findUsers" parameterType="map" resultType="User">
    SELECT * FROM user
    <where>
        <if test="name != null and name != ''">
            AND name LIKE CONCAT('%', #{name}, '%')
        </if>
        <if test="email != null and email != ''">
            AND email = #{email}
        </if>
    </where>
</select>

标签:语句,Mapper,name,映射,标签,id,user,Mybatis,email
From: https://www.cnblogs.com/summer-northward/p/18466160

相关文章

  • Mybatis的Mapper映射文件中常用标签及作用
    MyBatis的Mapper映射文件是一种XML格式的配置文件,它用于定义SQL语句和Java对象之间的映射关系。以下是一些常用的标签及其作用。!DOCTYPEmapperPUBLIC#定义文档类型和公共标识符,用于XML文档的开头。<mapper>#根标签,定义一个映射文件。<namespace>#定义映射文件的命......
  • Mybatis的Mapper映射文件中常用标签及作用
    1、<mapper>:根元素,表示一个Mapper接口的配置。2、<select>:用于编写sql查询语句。3、<insert>:用于编写sql插入数据的<details>4、<update>:用于编写sql更新数据的语句。5、<delete>:用于编写sql删除数据的语句。6、<resultMap>:定义了如何将数据库中的列与Java对象的属......
  • Mybatis的Mapper映射文件中常用标签
    select点击查看代码<selectid="selectPerson"parameterType="int"parameterMap="deprecated"resultType="hashmap"resultMap="personResultMap"flushCache="false"useCache="true"time......
  • Mybatis的Mapper映射文件中常用标签及作用
    MyBatis是一个广泛使用的持久层框架,能够将对象与数据库中的记录进行映射。在MyBatis的Mapper映射文件中,有许多常用标签,它们各自有不同的功能。以下是一些常见标签及其作用:1.select标签作用:用来定义查询操作。示例:点击查看代码<selectid="selectUser"resultType="Use......
  • Mybatis的Mapper映射文件中常用标签及作用
    mapper标签作用:根标签,用于定义一个Mapper文件。属性:namespace,指定Mapper接口的全限定名。select标签作用:定义一个查询语句。属性:id:语句的唯一标识符,对应Mapper接口中的方法名。parameterType:输入参数的类型。resultType:返回结果的类型。resultMap:返回结果......
  • Mybatis的Mapper映射文件中常用标签
    增删改查标签增:<insertid=""parameterType=""useGeneratedKeys="true"keyProperty="id">id接口名,parameterType传参类型,useGeneratedKeys是否使用数据库生成的主键,keyProperty将主键映射到哪个属性删:<deleteid=""></delete>改......
  • Mybatis的Mapper映射文件中常用标签以及作用
    1.SqlMapConfig标签SqlMapConfig标签是Mybatis配置文件中的根标签,它用于配置Mybatis的全局属性,包括数据库连接信息、类型别名、事务管理器等1.properties:用于指定外部属性文件的位置,可以用来配置数据库连接信息等敏感信息。2.settings:用于配置Mybatis的全局属性,包括......
  • Mybatis的Mapper映射文件中常用标签及作用
    1.<sql>标签定义重复使用的字段提高复用性点击查看代码<sqlid="Base_Column_List">id,name,contract_no,pdf_url,member_phone,elder_id,start_time,end_time,status,sort,level_desc,create_time,create_by,update_time,update_by,remark,......
  • Mybatis的Mapper映射文件中常用标签
    1、Mapper标签Mapper标签用于描述SQL映射关系。Mapper标签有以下属性:namespace:指定Mapper接口的完整路径名。resultMap:指定结果映射关系,将查询结果映射成java对象。parameterMap:指定参数映射关系,将java对象映射成sql参数。sql:定义可重用的sqkl片段insert、update......
  • Mybatis的Mapper映射文件中常用标签及作用
    select,update,delete,insert用于定义增删查改语句if判断为true时,拼接该语句where动态生成where去除多余的and/orset动态生成set去除多余的,sql用于sql语句的复用include用于引用sql标签中的语句selectKey定义在insert和update中,用于主键回显。trim添加前缀......