Mybatis寫sql的技巧之模板代碼

<!-- /////////////////////////////////////////////////////////////////////////////////////////////// -->
<!-- //////////////////////////////////// SELECT /////////////////////////////////////////////// -->
<!-- /////////////////////////////////////////////////////////////////////////////////////////////// -->

<!-- /////////////////////////////////////////////////////////////////////////////////////////////// -->
<!-- //////////////////////////////////// INSERT /////////////////////////////////////////////// -->
<!-- /////////////////////////////////////////////////////////////////////////////////////////////// -->

<!-- /////////////////////////////////////////////////////////////////////////////////////////////// -->
<!-- //////////////////////////////////// UPDATE /////////////////////////////////////////////// -->
<!-- /////////////////////////////////////////////////////////////////////////////////////////////// -->

<!-- /////////////////////////////////////////////////////////////////////////////////////////////// -->
<!-- //////////////////////////////////// DELETE /////////////////////////////////////////////// -->
<!-- /////////////////////////////////////////////////////////////////////////////////////////////// -->

<!-- 時間比較 -->
<if test="QDRQQ!=null and QDRQQ!=''">
 AND ht.qdrq &gt; = to_date('${QDRQQ} 00:00:00','yyyy-mm-dd hh24:mi:ss')
</if>
<if test="QDRQZ!=null and QDRQZ!=''">
 AND ht.qdrq &lt; = to_date('${QDRQZ} 23:59:59','yyyy-mm-dd hh24:mi:ss')
</if>

<!-- 單操作~ 新增 -->
<insert id="xxx" parameterType="map">
 INSERT INTO bdc_h (
     fwid
     ,hh
 ) VALUES (
     '${FWID}'
     ,'${HH}'
 )
</insert>

<!-- 單操作~ 刪除 -->
<delete id="xxx" parameterType="map">
 DELETE FROM
     jy_spfht ht
 WHERE
     ht.ywid = '${YWID}'
</delete>

<!-- 單操作~ 更新 -->
<update id="xxx" parameterType="map">
 UPDATE bdc_h
     <set>
         <if test="FWID != null and FWID != '' "> h.fwid = #{FWID} , </if>
         <if test="HH != null and HH != '' "> h.hh = #{HH} , </if>
     </set>
 WHERE
     h.fwid = '${FWID}'
</update>

<!-- 單操作~ 查找 -->
<select id="" parameterType="map" resultType="map">
 SELECT
     zt.ztid AS ZTID
     ,zt.ywid AS YWID
 FROM
     jy_zt zt
 <where>
     <if test="ZTID != null and ZTID != '' ">
       AND zt.ztid = '${ZTID}'
     </if>
     <if test="TITLE != null and TITLE != '' ">
       AND zt.title = '${TITLE}'
     </if>
</where>

<!--分頁模板-->
<sql id="sql_get_dajsList_where">
     DA_JJMX mx
     LEFT JOIN DA_BDC_KANQ BDC ON mx.YWID = BDC.YWID
 WHERE
     mx.jsr = '${INFO.USER_ID}' or mx.jsr = '101' <!-- 101 超級管理員 -->
 <if test="YJBH != null and YJBH != ''">
     and jj.YJBM like '%${YJBH}%'
 </if>
</sql>
<select id = "DAJS_GETJSLIST" parameterType="map" resultType="map">
 SELECT
     jj.YJBM,
     mx.JJMXID,
     mx.YWID,
     mx.JSR
 FROM
     <include refid="sql_get_dajsList_where"></include>
 ORDER BY jj.YJBM desc, mx.JJID,mx.YWID
</select>
<select id = "DAJS_GETJSLIST_Count" parameterType="map" resultType="map">
 SELECT
     COUNT(1) AS TOTAL
 FROM
     <include refid="sql_get_dajsList_where"></include>
</select>

<!-- 批量操作~查詢 -->
<select id="batchSelect" parameterType="map" resultType="map">
<!-- -->    
 SELECT
        p.id,
        p.name
 FROM
        person p
 WHERE
        p.id            
 IN
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">     
    '${item}'
</foreach>
</select>
<select id="batchSelect_more_than_1000" parameterType="map" resultType="map">
     SELECT
            *
     FROM
            person p
     <where>  
         <if test="list != null and list !='' and list.size() > 0">
             <foreach collection="list" index="index" item="item" open="(" separator=" OR " close=")">     
                    p.id = '${item}'
             </foreach>              
         </if>      
         <if test="a != null and a !=''">
                     p.id = '${a}'       
         </if>
     </where>
</select>

<!-- 批量操作~插入 -->
<!--
 useGeneratedKeys="false"
 如果所操作的表沒有設(shè)置主鍵, 則一定要進(jìn)行本項設(shè)置.否則會報: ORA-00933: SQL 命令未正確結(jié)束
-->
INSERT INTO jy_spfht (
         ywid,
         zt
     )
 <foreach collection="list" item="item" index="index" separator="UNION ALL">
     (SELECT
     '${item.WQYWID}',
     '${index}'
     FROM DUAL)
 </foreach>
<!-- 批量操作~更新 -->
<update id="batchUpdateSPFHT" parameterType="list">
 <foreach collection="list" item="item" index="index" open="begin" close=";end;" separator=";">
     UPDATE
         jy_spfht
     <set>
         ywid='${item.WQYWID}'||'1'
     </set>
         WHERE
             ywid = '${item.HTID}'
 </foreach>
</update>

<!-- 批量操作~刪除 -->
<delete id="batchDeleteSPFHT" parameterType="java.util.List">
 DELETE FROM jy_spfht
 <where>
     <foreach collection="list" index="index" item="item" open="(" separator="or" close=")">
         htid=#{item.HTID}
     </foreach>
 </where>
</delete></pre>

|

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容