放置xml文件的文件夹应当与放置Dao层Mapper接口的包名路径一致

增删改查

  • <select>/<delect>/<uodate>/<insert>

  • <if></if>

    必填属性test=" " 双引号的测试结果结果为true/false 只有结果为true才会拼接if标签中的sql 如果有多个测试条件用and/or 连接

  • <choose></choose>

    相当于if/else

  • <when></when>
  • <otherwise></otherwise>
    不想应用所有的条件 而只是想从多个选项中选择一个
    choose标签是按顺序判断其内部<when>标签中的test条件出否成立 如果有一个成立 则 <choose> 结束 当<choose> 中所有 <when> 的条件都不满则时 则执行 <otherwise> 中的sql
  • <foreach></foreach> 循环遍历 (常常用于批量更新/插入)

    属性 :
    collection --> 必填,值为要循环对象的名称,一般由@Param("")来指定 未指定责默认名字
    item-->循环遍历中的每个元素 名字可自定
    index--> 索引 list为索引 map为键
    open -->拼接前缀
    close-->拼接后缀
    separator -->中间分隔符

  • <where></where>

    用于替代不美观的where条件判断 自动去除第一个
    and/or 之后if自己加上and/or (可全+and)

image.png

  • <set></set>

    更新时自动拼接set,并去除多余逗号

image.png

  • <selectKey></selectKey>

    主键回显

    <selectKey resultType="java.lang.Integer" //回显的类型
     keyProperty="id"  //需要回显的主键
    order="AFTER">
              SELECT LAST_INSERT_ID() AS 别名
          </selectKey>

    image.png

    sql的复用

  • <sql id =""></sql> 重复sql

  • <include refid = ""/> 引用位置


cahrlotte
1 声望1 粉丝