久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

解決myBatis中刪除條件的拼接問題

瀏覽:145日期:2023-10-21 11:41:29

今天剛剛學習了mybatis,做了簡單的對數據庫的增刪改查。在進行刪除操作時,單條刪除時很簡單,但是批量刪除的時候拼接刪除條件卻有些麻煩,現記錄一下做法。

Sql語句中,當刪除條件并不唯一的時候,我們有兩種刪除的sql語句,一種使用or拼接where中的條件,例如delete from 表名where 條件1 or 條件2,另一種是使用in 例如delete from 表名where 元素in( )

利用第一種刪除語句在mybatis中的mapping.xml中進行拼接:

解決myBatis中刪除條件的拼接問題

利用第二種刪除語句在mybatis中的mapping.xml中進行拼接:

解決myBatis中刪除條件的拼接問題

以上刪除操作基本完成,但是,這樣有一個缺陷,當查詢條件idList中沒有元素的時候,會刪除整個表ac01中的記錄。所以,我們需要對上述方法進行改進。

第二種刪除語句進行改進后:

解決myBatis中刪除條件的拼接問題

第一種刪除語句進行改進后:

解決myBatis中刪除條件的拼接問題

至此,刪除操作完美完成。

補充知識:myBatis 查詢時注意and拼接條件

<!-- 加個條件 -->

<sql id='queryjiachaAllPageId'> <where> <if test='danweimc !=null and danweimc !=’’'> and jcb.danweimc like ’%${danweimc}%’ </if> <if test='ge_jianchaks !=null and ge_jianchaks !=’’'> and DATE_FORMAT(jcb.jianchaks, ’%Y-%m-%d’) >= #{ge_jianchaks} </if> <if test='le_jianchaks != null and le_jianchaks != ’’'> and DATE_FORMAT(jcb.jianchaks, ’%Y-%m-%d’) &lt;= #{le_jianchaks} </if> <if test='jiancharxm !=null and jiancharxm !=’’'> and jcb.jiancharxm like ’%${jiancharxm}%’ </if> <if test='zhuangtai !=null and zhuangtai !=’’'> and yhb.zhuangtai = ${zhuangtai} </if> <if test='danweilb !=null and danweilb !=’’'> and yhb.yinhuanmc like ’${danweilb}%’ </if> <if test='jiedao != null and jiedao !=’’ and jiedao !=’110105000000’'> and jcb.jiedao=#{jiedao} </if> <if test='danweimcs != null and danweimcs !=’’'> and jcb.danweimc = #{danweimcs} </if> </where> </sql>

例如上訴問題 要么都加and ,要么都不加 ,一定要注意,如果有加and 和沒有加and的 查詢會報錯

以上這篇解決myBatis中刪除條件的拼接問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Mybatis 數據庫
相關文章:
主站蜘蛛池模板: 北宁市| 桓仁| 新野县| 游戏| 梁平县| 图木舒克市| 舞阳县| 澄江县| 泾川县| 习水县| 金堂县| 富平县| 安国市| 广西| 九龙县| 福海县| 新平| 那坡县| 普格县| 定南县| 桦川县| 彭州市| 石嘴山市| 来安县| 张北县| 手机| 新平| 达州市| 江北区| 台安县| 秦皇岛市| 驻马店市| 阳江市| 绵竹市| 红河县| 龙门县| 内江市| 兴义市| 沈丘县| 诏安县| 屯门区|