mybatis的mapper文件标签解析

<?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.baihe.dao.UserDao">
    <!-- 核心文件  namespace  命名空间 dao文件的路径 -->

    <cache eviction="" type=""  blocking="" flushInterval=" " readOnly="" size="" ></cache>
    <!-- 给定命名空间的缓存配置 -->
        <!--eviction- (回收策略)-->
            <!--LRU – 最近最少使用的Least Recently Used:移除最长时间不被使用的对象。(默认的属性)-->
            <!--FIFO – 先进先出First in First out:按对象进入缓存的顺序来移除它们。-->
            <!--SOFT – 软引用:移除基于垃圾回收器状态和软引用规则的对象。-->
            <!--WEAK – 弱引用:更积极地移除基于垃圾收集器状态和弱引用规则的对象。-->
        <!--flushInterval-(刷新间隔)-->
            <!--可以被设置为任意的正整数,而且它们代表一个合理的 毫 秒形式的时间段。默认情况是不设置,也就是没有刷新间隔,缓存仅仅调用语句时刷新。-->
        <!--size- (引用数目)-->
            <!--可以被设置为任意正整数,要记住你缓存的对象数目和你运行环境的可用内存资源数目。默认值是1024。-->
        <!--readOnly(只读)-->
            <!--可以被设置为true或false。只读的缓存会给所有调用者返回缓存对象的相同实例。因此这些对象不能被修改。这提供了很重要的性能优势。可读写的缓存会
                返回缓存对象的拷贝(通过序列化)。这会慢一些,但是安全,因此默认是false。-->
        <!--type-  cache实现类-->
            <!--默认为PERPETUAL,可以使用自定义的cache实现类(别名或完整类名皆可)-->


    <cache-ref namespace="" ></cache-ref>
    <!-- 从其他命名空间引用缓存配置。-->
        <!-- 如果你不想定义自己的cache,可以使用cache-ref引用别的cache。-->
        <!-- 因为每个cache都以namespace为id-->
        <!-- 所以cache-ref只需要配置一个namespace属性就可以了。-->
        <!-- 需要注意的是,如果cache-ref和cache都配置了,以cache为准。-->

    <sql id="result" databaseId="" lang="">
        id,
        name
    </sql>
    <!-- 可重复使用的查询集-->
    <!-- 配合  <include refid="result"/> 使用 -->

    <resultMap id="" type="" autoMapping=" " extends="">
        <!-- 主键字段 -->
        <id property="" column="" javaType="" jdbcType="" typeHandler=""></id>
        <!-- 普通字段 -->
        <result property="" column=""></result>
        <!-- 构造函数-->
        <constructor></constructor>
        <!-- 配置一对一的关联关系 -->
        <association property="" >
            <id></id>
            <result></result>
        </association>
        <!--配置一对多的关联关系-->
        <collection property="" >
            <id></id>
            <result></result>

        </collection>
        <!-- -->
        <discriminator javaType="">
            <case value=""></case>
        </discriminator>
    </resultMap>
    <!-- 复杂的结果处理 -->

    <parameterMap id="" type="">
        <parameter property="" javaType=""></parameter>
    </parameterMap>
    <!-- 复杂的参数 -->


    <select id="" parameterType="" parameterMap="" resultType="" resultMap="" databaseId="" useCache="true" lang="" fetchSize="" flushCache="true" resultOrdered="true" resultSets=" " resultSetType="  " statementType=" " timeout="">
        SELECT
          <include refid="selectResult"/>
        FROM
          user
        LIMIT #{pageStart},#{rows}
    </select>
    <!-- 查询语句 -->
    <!--id- dao文件的方法名 -->
    <!--parameterType或parameterMap- 参数类型 -->
    <!--resultType或resultMap 返回值类型 -->
    <!-- -->
    <!--useCache- 是否使用缓存 -->



    <insert id="" parameterMap="" useGeneratedKeys="true" timeout="" statementType=" " flushCache=" " lang="" databaseId="" parameterType="" keyProperty="" keyColumn=" " >
        <selectKey keyProperty="" order="BEFORE" resultType="">

        </selectKey>

        INSERT INTO user
        (<include refid="selectResult"/>)
        VALUES
        ( #{id},
        #{name},
        #{password},
        #{age},
        #{sex})
    </insert>
    <!--插入语句 -->
    <!-- keyColumn="id" keyProperty="id" useGeneratedKeys="true"  插入后可返回自增id-->

    <delete id="" parameterType="" databaseId="" lang="" flushCache="true" statementType=" " timeout="" parameterMap="">
        DELETE FROM
          user
        WHERE
          id=#{id}
    </delete>
    <!-- 删除语句-->

    <update id="" parameterMap="" timeout="" statementType=" " flushCache=" " lang="" databaseId="" parameterType="" keyColumn="" keyProperty="" useGeneratedKeys="true" >
        UPDATE
            app
        SET
            name=#{name},
            password=#{password},
            age=#{age},
            sex=#{sex}
        WHERE
            id=#{id}
    </update>
    <!--修改语句 -->


    <delete id="delete">
        DELETE FROM
          user
        where
          id IN
        <foreach item="ids" index="index" collection="array" open="(" separator="," close=")">
          #{ids}
        </foreach>
    </delete>
</mapper>
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值