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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • X3协同胚布库存管理系统操作手册「建议收藏」

    X3协同胚布库存管理系统操作手册「建议收藏」胚布库存管理系统操作手册 转载于:https://blog.51cto.com/itlingm/399124

    2022年6月12日
    33
  • wmv转换mp4格式转换器_avi可以转化成什么格式

    wmv转换mp4格式转换器_avi可以转化成什么格式MP4的视频H264封装有2种格式:h264和avc1,对于这个细节,很容易被忽略。笔者也是在改编LIVE555流媒体时,增加mp4文件类型支持时遇到了该问题。(一)首先,从原理上了解一下这2种格式的区别:AVC1描述:H.264bitstreamwithoutstartcodes.一般通过ffmpeg转码生成的视频,是不带起始码0×00000001的。H264描述:H.26

    2022年10月16日
    4
  • adb安装以及调试

    adb安装以及调试想必很多程序猿们都经历过一个头疼的事情是开发完一个项目之后,在你本机模拟是Ok的,但是到了正式环境上(机顶盒、手机等)却又bug百出,测试姐姐找的你头疼。那么我们就需要在自测的时候验证一下。废话不多说先来直接上正文:1.下载安装ADB下载安装非常快速简单,不到3MB。(需要下载的可以直接找我要)下载解压完之后不需要你去安装或者配置什么Path之类的东西,只需要记住你放在哪儿了就好。例如我放在了D盘,文件名叫ADB。2.是否正常运行输入:(1)win+R(2)进入cmd(3)D:(4)c

    2022年5月16日
    47
  • ireport使用_result with

    ireport使用_result with1.问题:IReport如何实现变量字段$F{propertyName}赋值为一个NULL对象时不显示”null”,而显示为空白?解决方法:选中动态单元格,右键选择属性,在弹出对话框TextField选项卡中选中Blankwhennull。思考:以往我们为IReport中变量字段赋值时会在程序或报表Textfieldexpression中用三目符号去判空,用I…

    2025年10月21日
    4
  • UE4导入高度图

    UE4导入高度图UE4导入高度图查找高度图使用ps编辑图片打开虚幻引擎的地形编辑器查找高度图可以从百度直接搜索使用ps编辑图片下载下来之后图片是jpg格式的,虚幻引擎不能直接用需要使用ps编辑一下选择图像->勾选灰度和16位通道,注意:如果不勾选灰度,图片有颜色的话,ue生成地形可能出现为题;还有ue只支持16位通道,不要选择其他通道点击文件和储存为,之后出现一个弹窗,填写自己图片的名字,注意图片的格式只能是png和raw,其他格式ue不支持打开虚幻引擎的地形编辑器1.ue4.25的地形在模式

    2022年5月26日
    51
  • vue.js中created()与activated()的个人使用理解

    vue.js中created()与activated()的个人使用理解created():在创建vue对象时,当html渲染之前就触发;但是注意,全局vue.js不强制刷新或者重启时只创建一次,也就是说,created()只会触发一次;activated():在vue对象存活的情况下,进入当前存在activated()函数的页面时,一进入页面就触发;可用于初始化页面数据等…

    2025年7月23日
    3

发表回复

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

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