mybatisplus中if else
时间: 2023-10-01 11:07:59 浏览: 90
在MyBatis Plus中,没有直接的if-else语法可以使用。相反,可以使用choose-when-otherwise标签来实现相似的功能。choose标签用于选择条件,当满足某个条件时,执行相应的SQL语句。当没有条件满足时,可以使用otherwise标签来执行默认的SQL语句。这样可以实现if-else的功能。
举个例子,假设我们有一个查询条件为query的参数,可以使用以下方式在SQL语句中使用if-else逻辑:
```
<select id="selectByExample" parameterType="com.example.Example">
SELECT *
FROM mytable
<where>
<choose>
<when test="query == 0">
AND status = 1
</when>
<otherwise>
AND status NOT IN (9,5)
</otherwise>
</choose>
AND delete_status = 1
</where>
</select>
```
在这个例子中,如果query等于0,则执行AND status = 1的条件;否则执行AND status NOT IN (9,5)的条件。无论哪种情况,都会执行AND delete_status = 1的条件。这样就实现了if-else的逻辑。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [MyBatis中if - else if - else 的使用](https://blog.csdn.net/qq_27327261/article/details/112470640)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [mybatis中的if-else使用及if嵌套使用](https://blog.csdn.net/m0_67401660/article/details/123990174)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]