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

溫馨提示×

mybatis的query動態SQL實現

小樊
83
2024-08-19 00:11:40
欄目: 云計算

MyBatis中的動態SQL可以通過ifchoosewhenotherwisetrimwheresetforeach等標簽實現。以下是一些常用的動態SQL示例:

  1. 使用if標簽實現條件判斷:
<select id="findUser" parameterType="map" resultType="User">
    SELECT * FROM user
    <where>
        <if test="id != null">
            AND id = #{id}
        </if>
        <if test="name != null">
            AND name = #{name}
        </if>
    </where>
</select>
  1. 使用trim標簽處理SQL語句中的多余的AND或OR:
<select id="findUser" parameterType="map" resultType="User">
    SELECT * FROM user
    <where>
        <trim prefix="AND" prefixOverrides="AND">
            <if test="id != null">
                id = #{id}
            </if>
            <if test="name != null">
                AND name = #{name}
            </if>
        </trim>
    </where>
</select>
  1. 使用choosewhenotherwise標簽實現條件選擇:
<select id="findUser" parameterType="map" resultType="User">
    SELECT * FROM user
    <where>
        <choose>
            <when test="id != null">
                AND id = #{id}
            </when>
            <when test="name != null">
                AND name = #{name}
            </when>
            <otherwise>
                AND status = 1
            </otherwise>
        </choose>
    </where>
</select>
  1. 使用foreach標簽處理集合參數的循環:
<select id="findUserByIds" parameterType="list" resultType="User">
    SELECT * FROM user
    WHERE id IN
    <foreach collection="ids" item="id" open="(" separator="," close=")">
        #{id}
    </foreach>
</select>

通過以上示例,可以根據不同的條件動態拼接SQL語句,實現靈活的查詢操作。在實際開發中,可以根據具體需求結合不同的標簽來編寫動態SQL。

0
长乐市| 朝阳县| 徐水县| 公主岭市| 喀什市| 铅山县| 彭泽县| 绩溪县| 辛集市| 荥经县| 德江县| 淮南市| 麻栗坡县| 襄樊市| 陕西省| 天门市| 怀柔区| 揭东县| 财经| 永修县| 双鸭山市| 湛江市| 郯城县| 浙江省| 义乌市| 南涧| 化州市| 宁化县| 塔城市| 丹凤县| 江门市| 棋牌| 红原县| 禹城市| 施甸县| 麦盖提县| 巫山县| 呼伦贝尔市| 布尔津县| 武胜县| 滦平县|