在MyBatis中,如何仅用一个长尾替代if else条件判断逻辑?

2026-04-19 06:391阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计224个文字,预计阅读时间需要1分钟。

在MyBatis中,如何仅用一个长尾替代if else条件判断逻辑?

MyBatis 配置示例:使用 `if` 选择器动态条件查询,`id` 为 getFiles,`resultMap` 为 BaseResultMap,从 files 表中选取状态为 1 的记录,若 `size` 不为空,则进一步限制 `size`。代码如下:

在MyBatis中,如何仅用一个长尾替代if else条件判断逻辑?

xml SELECT * FROM files WHERE status=1 AND size=#{size}

MyBatis中的if <select id="getFiles" resultMap="BaseResultMap"> select * from files where status=1 <if test="size!=0"> and size=#{size} </if> order by id </select> MyBatis中没有else   (1)使用两个if <select id="getFiles" resultMap="BaseResultMap"> select * from files where status=1 <if test="dealBigFiles == 0"> and size <= #{maxFileSize} </if> <if test="dealBigFiles != 0"> and size > #{maxFileSize} </if> order by id </select>   (2)使用chose when otherwise <select id="getFiles" resultMap="BaseResultMap"> select * from files where status=1 <choose> <when test="dealBigFiles == 0"> and size <= #{maxFileSize} </when> <otherwise> and size > #{maxFileSize} </otherwise> </choose> order by id </select>

标签:I

本文共计224个文字,预计阅读时间需要1分钟。

在MyBatis中,如何仅用一个长尾替代if else条件判断逻辑?

MyBatis 配置示例:使用 `if` 选择器动态条件查询,`id` 为 getFiles,`resultMap` 为 BaseResultMap,从 files 表中选取状态为 1 的记录,若 `size` 不为空,则进一步限制 `size`。代码如下:

在MyBatis中,如何仅用一个长尾替代if else条件判断逻辑?

xml SELECT * FROM files WHERE status=1 AND size=#{size}

MyBatis中的if <select id="getFiles" resultMap="BaseResultMap"> select * from files where status=1 <if test="size!=0"> and size=#{size} </if> order by id </select> MyBatis中没有else   (1)使用两个if <select id="getFiles" resultMap="BaseResultMap"> select * from files where status=1 <if test="dealBigFiles == 0"> and size <= #{maxFileSize} </if> <if test="dealBigFiles != 0"> and size > #{maxFileSize} </if> order by id </select>   (2)使用chose when otherwise <select id="getFiles" resultMap="BaseResultMap"> select * from files where status=1 <choose> <when test="dealBigFiles == 0"> and size <= #{maxFileSize} </when> <otherwise> and size > #{maxFileSize} </otherwise> </choose> order by id </select>

标签:I