SQL执行查询时出现返回数据为空的问题

5 篇文章 0 订阅
3 篇文章 0 订阅

当需要查询的时候,输入查询条件,数据库和SQL都是没问题的,数据库也有数据,但就是没有数据返回,这种情况一般来说很好解决,但对于初学者来说,这是很纠结的问题,一般来说,我们在做条件查询的时候,通常都会加一个判断,就是非空!那么问题来了,假如,我输入的是一个空的字符串呢?空字符串并不是空,而是一个值,所以,我们在查询的时候都是把值拼接起来的,所以会有空字符串的情况出现,故此,我们还需要在mybatis做个非空字符串判断

    <if test="Phone!= null and Phone != ''">
        and phone = #{Phone}
    </if>

判断手机号是否非空字符串,这样就可以查询出数据了。
那么另一个问题又来了,如果我把传过来的数据进行了加密再进行对比查询呢?对比的时候就是对比的加密后的空字符串,除非先把数据拿出来解密然后再对比,那就打不到加密的效果,故此,我们在接收传过来的数据的时候就应该做非空字符串判断,在进行数据对比

String Phone = request.getParameter("Phone");
    if (Phone != null && Phone.trim().length()>0) {
        map.put("Phone", AES128.encrypt(Phone));
    }

上面写的AES128是加密算法,有兴趣的朋友可以去了解一下。“Phone.trim().length()>0”就是我做的非空字符串判断,去空格后的长度大于0在执行。
每天一点经验积累,日积月累,成功之所在!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值