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中就可以达到上面两个方法的效果,进行非空参数的筛选。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Linux镜像下载

    Linux镜像下载1.CentOSCentOS官网:https://www.centos.org/CentOS各个版本下载:https://www.centos.org/CentOS版本选择:1.DVD版:这个是常用版本,就是普通安装版了,推荐大家安装。里面包含大量的常用软件,大部分情况下安装时无需再在线下载,体积为4G左右。 2.Everything版:顾名思义,包含了所有…

  • pycharm virtualenv和conda_pycharm virtualenv

    pycharm virtualenv和conda_pycharm virtualenvfrom: http://www.cnblogs.com/IDRI/p/6354237.htmlLinux:启动虚拟环境:sourceenv/bin/activate Windows:pipinstallvirtualenv创建虚拟环境目录env激活虚拟环境:C:\Python27\Scripts

  • 利用神器Typora+PicGo,实现有道云不用会员就可在Markdown自动上传图片

    本文是一篇工具的使用整理,希望能够帮助到你。欢迎关注公众号【Java编程技术乐园】,不止分享技术。文章目录01 开始02 实战安装`Picgo ` 配置+验证`Typora ` 配置+验证03 结束04 结束的尾巴01 开始阳春三月已过,感觉最近的天气是比较舒适的,在这个城市,湿冷的冬天过去,酷热的夏天未来,这样的日子持续的长一点就爽了。先简单梳理下之前分享过的文章:【教程】使…

  • zotero使用教程视频_anaconda使用教程

    zotero使用教程视频_anaconda使用教程之前一直想有一个管理文献的好工具,但囿于麻烦都没有去做。最近需要阅读大量的文献,便重新拾起了这个念头,在几经搜索后,选定了Zotero作为文献管理工具。至于为什么选择这个软件,我也许并说不清,网上有

  • touchstart,touchmove,touchend触摸事件的小小实践心得

    近段时间使用html5开发一个公司内部应用,而触摸事件必然是移动应用中所必须的,刚开始以为移动设备上或许也会支持鼠标事件,原来是不支持的,好在webkit内核的移动浏览器支持touch事件,并且打包成

    2021年12月27日
  • jrtplib 编译安装配置[通俗易懂]

    jrtplib 编译安装配置[通俗易懂]  RTP是目前解决流媒体实时传输问题的最好办法,而JRTPLIB是一个用C++语言实现的RTP库,包括UDP通讯,它的主页地址是:Jori’spage  jrtplib源码的获取,可以在它的主页上直接下载,也可以使用git直接克隆一份。因为它的主页是国外网站,下载速度非常慢,我这里提供一份已经下载好的最新的jrtplib源码:jrtplib-3.11.1.tar.gz  我…

发表回复

您的电子邮箱地址不会被公开。

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