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

溫馨提示×

Mybatis中case when如何處理復雜邏輯

小樊
82
2024-10-13 15:06:34
欄目: 編程語言

在 MyBatis 中,可以使用 <if> 標簽結合 SQL 語句中的 CASE WHEN 來處理復雜的邏輯。以下是一個示例:

首先,創建一個實體類 Person

public class Person {
    private Integer id;
    private String name;
    private Integer age;
    // 省略 getter 和 setter 方法
}

然后,在 MyBatis 的映射文件中編寫動態 SQL 查詢:

<select id="findPersons" parameterType="map" resultMap="personResultMap">
    SELECT * FROM person
    <where>
        <if test="name != null">
            AND name = #{name}
        </if>
        <if test="age != null">
            AND age = #{age}
        </if>
        <if test="minAge != null and maxAge != null">
            AND age BETWEEN #{minAge} AND #{maxAge}
        </if>
    </where>
</select>

在這個示例中,我們使用 <where> 標簽來確保查詢條件以 “AND” 連接。<if> 標簽用于根據參數是否為 null 來決定是否添加相應的查詢條件。

接下來,創建一個結果映射文件 personResultMap

<resultMap id="personResultMap" type="com.example.Person">
    <id property="id" column="id"/>
    <result property="name" column="name"/>
    <result property="age" column="age"/>
</resultMap>

現在,你可以在 Java 代碼中調用這個查詢方法:

List<Person> persons = sqlSession.selectList("com.example.PersonMapper.findPersons", null);

這個示例展示了如何在 MyBatis 中使用 <if> 標簽和 SQL 語句中的 CASE WHEN 來處理復雜的邏輯。你可以根據需要調整查詢條件和邏輯。

0
枞阳县| 榆林市| 资讯| 新宾| 天津市| 太谷县| 乌鲁木齐县| 白河县| 信丰县| 凉城县| 三穗县| 江源县| 寻甸| 吉林省| 全州县| 宁阳县| 高州市| 高台县| 湘西| 吕梁市| 呼伦贝尔市| 铅山县| 娄底市| 陇川县| 陕西省| 寿阳县| 肥乡县| 张家港市| 西充县| 阳新县| 泰兴市| 平阴县| 仁布县| 浙江省| 江达县| 定陶县| 洛阳市| 娄烦县| 邹平县| 丽江市| 庆城县|