sql语法- 配合mybatis-plus 返回boolean

sql语法- 配合mybatis-plus 返回boolean

select 配合 resultType=“java.lang.Boolean” 返回true/false, 其中包含 OR 和 EXISTS

<selectid="checkSameName"resultType="java.lang.Boolean"parameterType="com.purvar.petou.ei.request.back.BackCreateRequest">SELECTCASEWHENCOUNT(1)>0THEN1ELSE0ENDFROMmaster.t_ent_back_info aWHEREa.IS_DELETE=0<iftest="id != null and id != ''">ANDa.ID!=#{id}</if><iftest="shortName != null and shortName != ''">ANDa.PROJ_NAME=#{shortName}</if><iftest="name != null and name != ''">OREXISTS(select1fromTZ_T_PROJ_STORAGEwherePROJ_OBJECT_NAME=#{name} and IS_DELETE = 0<iftest="id != null and id != ''">ANDBACK_ID!=#{id}</if>)</if></select>

where判断语句相当于下面 and 优先级高于or

WHEREa.IS_DELETE=0AND(a.ID!=#{id}) -- 条件1(可选)AND(a.PROJ_NAME=#{shortName}) -- 条件2(可选)OREXISTS(...)-- 条件3(可选)

配合mybatis-plus 这个不是返回一个表, 而是返回ture / false

如果不配合使用

SELECTCASEWHENCOUNT(1)>0THEN1ELSE0ENDFROMmaster.t_ent_back_info;

返回的是单行单列的结果

“单行单列的结果” = 一个确定的值
它表示查询的最终答案可以用一个数字、一个字符串或一个布尔标志来表达,常用于:

  • 判断(是否存在?是否开启?)
  • 统计(总共有多少?)
  • 获取(当前最大ID是多少?)
    这是 SQL 中非常基础且高频使用的模式,尤其在系统控制、权限校验、状态检查等场景中极为常见。