ibatis中isnotnull和isnotempty的区别_typedef int Status

ibatis中isnotnull和isnotempty的区别_typedef int StatusisPropertyAvailable和isNotEmpty这个两个属性非常有用isPropertyAvailable:入参有这个属性isNotEmpty:入参的这个属性不为空入参一般是一个封装了数据的DTO如果希望一个属性无论为何值都符合条件则使用isPropertyAvailable如果希望一个属性只是不为空的时候才符合条件就用isNotEmptyupdate例子如下:…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

isPropertyAvailable和isNotEmpty
这个两个属性非常有用

isPropertyAvailable:入参有这个属性 isNotEmpty:入参的这个属性不为空

入参一般是一个封装了数据的DTO

如果希望一个属性无论为何值都符合条件则使用isPropertyAvailable
如果希望一个属性只是不为空的时候才符合条件就用isNotEmpty

update例子如下:

<update id="partner.update.back">
update partner
<dynamic prepend="set">
<isPropertyAvailable property="domain_url" prepend=",">domain_url=#domain_url#</isPropertyAvailable>
<isNotNull property="user_name"><isNotEmpty prepend="," property="user_name">user_name=#user_name#</isNotEmpty></isNotNull>
</dynamic>
where partner_id=#partner_id#
</update>

select例子如下:

select rownum sno,cott.* FROM cottonbaginfo cott where 1=1
<dynamic >
<isNotEmpty prepend=" and " property="grower">grower = 111</isNotEmpty>
</dynamic>

因为 是动态的,当你的条件不满足时就不会走,执行
select rownum sno,cott.* FROM cottonbaginfo cott where 1=1查询全部,当条件满足时就执行 。


当然了再mybatis中,以上两种方法并不适用,可以使用:

<select id="selectApplyList"  resultType="java.util.Map">
    select *
    from tb_apply_info a left join tb_users_contact u on a.wx_id = u.wx_id
    <where>
      a.wx_id = #{wxId}
      <if test="lessonId != null">
        and lesson_id = #{lessonId}
      </if>
      <if test="applyState != null">
        and apply_state = #{applyState}
      </if>
      order by a.last_time desc
    </where>

将可能出现空值的参数,用if包起来。这样在mybatis中就可以达到上面两个方法的效果,进行非空参数的筛选。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185066.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月7日 上午8:16
下一篇 2022年10月7日 上午8:16


相关推荐

  • swal弹窗_swal的几种用法

    swal弹窗_swal的几种用法1 弹出提示框 点击确认 进行下一步操作 swal title 操作提示 text 是否删除名为 query 的反例 type warning showCancelBu true confirmButto 4D9BFF cancelButton 取消 confirmButto 是的 确定删除 closeOnCo

    2026年3月19日
    1
  • 存储器分类

    存储器分类1 随机访问存储器 RAM 随机访问存储器可以分为静态随机访问存储器 SRAM 和动态随机访问存储器 DRAM SRAM 通常作为高速缓存存储器 它的速度比 DRAM 要快 抗干扰性比 DRAM 好 造价也更高 DRAM 通常作为计算机的主存以及显存 SRAM 和 DRAM 都是易失性存储器 断电后 存储的信息就会丢失 2 DRAM 和主存 DRAM 将每个位存储在一个电容中 DRAM 很容易漏电而丢失信息 因此 DRAM 存储器必须周期性地读写来刷新存储器的每一位 DRAM 常用来构成计算机

    2026年3月20日
    2
  • HTML如何加背景图片_css设置背景图片

    HTML如何加背景图片_css设置背景图片在HTML中,我们可以使用两种不同的方法在HTML网页上显示背景图片:使用背景属性(HTML标签)使用CSS内部样式表提示:HTML5不再支持标签的background属性,建议使用CSS在Html文档中添加背景图片。使用背景属性使用Background属性在Html文档中添加背景图片。按照以下步骤,我们可以轻松实现。步骤1:我们在文本编辑器中键入HTML代码,或者用文本编辑器打开现有的HTML文件。<!DOCTYPEhtml><html><hea

    2026年4月16日
    6
  • 软件测试理论试题及答案

    软件测试理论试题及答案一 选择题 一分一题共 45 分 下列软件属性中 7 软件产品首要满足的应该是 A A 功能需求 B 性能需求 C 可扩展性和灵活性 D 容错纠错能力软件缺陷产生的原因是 D A 交流不充分及沟通不畅 软件需求的变更 软件开发工具的缺陷 B 软件的复杂性 软件项目的时间压力 C 程序开发人员的错误 软件项目文档的缺乏 D 以上都是导致软件缺陷的最大原因是

    2026年3月19日
    2
  • decltype用法_指针声明符

    decltype用法_指针声明符decltype操作符

    2025年10月16日
    4
  • Cocos2d-x项目总结中的一些遇到的问题

    Cocos2d-x项目总结中的一些遇到的问题

    2022年1月1日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号