siesteven

你要保守你心,胜过保守一切。因为一生的果效是由心发出。 --箴4:23
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

mybatis 使用记录(二) 动态拼接查询条件

Posted on 2016-12-16 10:20  siesteven  阅读(1167)  评论(0)    收藏  举报

2016-12-16 

阅读项目代码时,在项目的xml文件中发现如下写法:

SELECT
student_user_id
FROM
tbr_student_class

WHERE 1=1
<if test="@Ognl@isNotEmpty(classId)">
and class_id =#{classId}
</if>

<if test="@Ognl@isNotEmpty(stuId)">
and student_user_id =#{stuId}
</if>

写法的意思是:当参数:classId 不为空的时候,执行后面的条件 and class_id=#{classId}

该写法类似于在c#或java代码中,动态拼写sql语句。此处为动态拼接查询条件。

新问题:以上代码中的if条件语句里,参数判断用了转义?此处的写法跟搜索出的结果不同,此处应该是用了转义。尚待考证。