首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检查MyBatis中的空字符串?

如何检查MyBatis中的空字符串?
EN

Stack Overflow用户
提问于 2013-03-15 23:52:34
回答 2查看 45.8K关注 0票数 11

如何在MyBatis的动态SQL中检查空字符串?我在文档中找到了下面的代码,但我想检查空字符串,而不是null。

代码语言:javascript
运行
复制
<select id="findActiveBlogWithTitleLike" parameterType="Blog" resultType="Blog">
    SELECT * FROM BLOG WHERE state = ‘ACTIVE’
    <if test="title != null">
        AND title like #{title}
    </if>
</select>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-16 03:02:25

在MyBatis中,您可以使用!= ''与空字符串进行比较,因此在您的查询中应该是这样的:

代码语言:javascript
运行
复制
<select id="findActiveBlogWithTitleLike" parameterType="Blog" resultType="Blog">
  SELECT * FROM BLOG WHERE state = ‘ACTIVE’
  <if test="title != null and title != ''">
    AND title like #{title}
  </if>
</select>
票数 24
EN

Stack Overflow用户

发布于 2016-12-24 16:35:03

英语说得不好。谢谢你的病人。

它的函数是xml文件。

代码语言:javascript
运行
复制
<mapper namespace="org.jacknie.mybatis.Functions">
  <sql id="isBlank">
    <bind name="isBlank" value=":[@org.apache.commons.lang3.StringUtils@isBlank(#this)]" />
  </sql>
  <sql id="sysout">
    <bind name="sysout" value=":[@System@out.println(#this)]" />
  </sql>
</mapper>

它是映射器xml文件。

代码语言:javascript
运行
复制
<mapper namespace="org.jacknie.test.TestMapper">
  <select id="selectTest" resultType="_int">
    <include refid="org.jacknie.mybatis.Functions.isBlank" />
    <include refid="org.jacknie.mybatis.Functions.sysout" />
    SELECT '1' FROM DUAL
    <if test="#fn = isBlank, not(#fn(map.name))">
      <bind name="forLogging" value="#fn = sysout, #fn('Hello' + map.name)" />
    </if>
  </select>
</mapper>

不如想想这篇小贴士。

enter link description here

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15436712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档