亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
金门县| 乌兰县| 贺州市| 靖西县| 巩留县| 鲁甸县| 松滋市| 阜宁县| 朝阳区| 定结县| 内乡县| 新源县| 界首市| 东方市| 洞头县| 南漳县| 错那县| 阿荣旗| 惠东县| 澎湖县| 南昌市| 团风县| 岚皋县| 永登县| 承德市| 汪清县| 高碑店市| 丽水市| 高安市| 博兴县| 同江市| 抚顺县| 德令哈市| 凤山县| 杭锦后旗| 顺平县| 富民县| 怀宁县| 台北市| 宁安市| 钟祥市|