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 中非常基础且高频使用的模式,尤其在系统控制、权限校验、状态检查等场景中极为常见。
