mybatis動態SQL中的sql片斷

https://www.cnblogs.com/qiankun-site/p/5762352.htmlhtml

在mybatis中經過使用SQL片斷能夠提升代碼的重用性,以下情景:sql

  一、建立動態SQLmybatis

    <sql id="sql_count">select count(*)</sql>ide

  二、使用htm

    <select id="selectListCountByParam" parameterType="map" resultType="String">blog

      <include refid="sql_count"/> from table_nameit

    </select>table

  三、解析test

    在使用sql片斷時使用include標籤經過sql片斷的id進行引用,sql片斷的ID在當前空間必須爲惟一的date

    固然,sql片斷中也能夠寫其餘的內容,只要符合語法規範都是能夠的。以下:
    <sql id="sql_where">
      <trim prefix="WHERE" prefixoverride="AND | OR">
        <if test="id != null">AND id=#{id}</if>
        <if test="name != null and name.length()>0">AND name=#{name}</if>
        <if test="gender != null and gender.length()>0">AND gender=#{gender}</if>
      </trim>
    </sql>

    <select id="updateByKey" parameterType="Map" resultType="List">      select * from user       <include refid="sql_where">    </select>

相關文章
相關標籤/搜索