91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mybatis中數字字符串比對的示例分析

發布時間:2021-12-30 09:27:59 來源:億速云 閱讀:159 作者:小新 欄目:互聯網科技

小編給大家分享一下mybatis中數字字符串比對的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

在mybatis開發過程中有需要在sql中判斷查詢哪張表,如下sql:

SELECT
        a.tag_name,
        a.tag_id,
        count( 0 ) AS base_total
        FROM
       mm_dd_body a
        <if test="tagType!=null and tagType == '0'">
            LEFT JOIN ccc AS b ON b.tag_body_id = a.id
        </if>
        <if test="tagType!=null and tagType == '1'">
            <![CDATA[
        left join `vvvv` `b` on CONVERT ( concat( '-', `b`.`mark_rule_key` ) USING utf8mb4 ) REGEXP concat( '(\\(|[[:blank:]]+|-){1,}', `a`.`column_name`, '(>|<|>=|<=|=|[[:blank:]])+' )
        AND b.tag_id IN ( SELECT tag_id FROM gggg WHERE product = a.product )
        ]]>
        </if>
        WHERE
        a.tag_base_cat = #{tagType}
        AND a.del = 0

在運行時發現不管tagType傳什么值都不會進入兩個if中, 經過分析,'1'是會被轉成數字,所以這里有兩種方案: 方案1:將參數轉為int類型,再進行比較

 <if test="tagType!=null and tagType == 0 ">
            LEFT JOIN ccc AS b ON b.tag_body_id = a.id
        </if>

方案二:將數字轉成字符串,加上.toString(),如下:

    <if test="tagType!=null and tagType == '0'.toString()">
            LEFT JOIN ccc AS b ON b.tag_body_id = a.id
        </if>

當然上面的設計本就不是一個好的設計,違背了單一職責原則,可以將if判斷剝離成兩個單獨select,然后在業務層去判斷是使用哪個,這也是一種好的方案,可以規避不少坑

看完了這篇文章,相信你對“mybatis中數字字符串比對的示例分析”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

华容县| 米脂县| 家居| 奈曼旗| 信阳市| 剑阁县| 芒康县| 从化市| 上栗县| 密云县| 威信县| 吴江市| 红桥区| 潜山县| 崇州市| 丹阳市| 浏阳市| 棋牌| 张北县| 滁州市| 中方县| 永登县| 平和县| 井冈山市| 平乐县| 铜梁县| 平远县| 通江县| 新邵县| 仙游县| 原平市| 南和县| 武定县| 无棣县| 灌南县| 临泽县| 利津县| 庆阳市| 横峰县| 乐都县| 达拉特旗|