相关文章推荐
打盹的课本  ·  getObject 方法 ...·  2 周前    · 
阳光的弓箭  ·  pymysql ...·  2 周前    · 
留胡子的扁豆  ·  sql ...·  5 天前    · 
暗恋学妹的饼干  ·  error TS2306: File ...·  4 月前    · 
光明磊落的毛巾  ·  sql - ...·  1 年前    · 
聪明的鞭炮  ·  MySQL ...·  1 年前    · 

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

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

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

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

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

当需要查询的时候,输入查询条件,数据库和SQL都是没问题的,数据库也有数据,但就是没有数据返回,这种情况一般来说很好解决,但对于初学者来说,这是很纠结的问题,一般来说,我们在做条件查询的时候,通常都会加一个判断,就是非空!那么问题来了,假如,我输入的是一个空的字符串呢?空字符串并不是空,而是一个值,所以,我们在查询的时候都是把值拼接起来的,所以会有空字符串的情况出现。
SQL语句在数据库中处理过程是怎样的呢?执行顺序呢?在回答这个问题前,我们先来回顾一下:在ORACLE数据库架构下,SQL语句由用户进程产生,然后传到相对应的服务端进程,之后由服务器进程执行SQL语句,如果是SELECT语句,服务器进程还需要将执行结果回传给用户进程。   SQL语句的执行过程一般如下:   解析(PARSE)—— 绑定(BIND)——执行(EXECUTE)——提取(FETCH 只有SELECT才需要这步)   服务器进程接收到一个SQL语句,首先要将其转换成执行这个SQL语句的有效步骤,这些步骤被称为执行计划。   Step 1:检查共享池中是否有之前
我用的mysql数据库sql语句查询也有也有数据,但是在mybatis执行查询,部分想要查询的字段确显示为空,实体类字段也都对应的上(菜鸟踩坑之路) 这是我的sql查询语句:SELECT user.userName AS name,express_info.address,express_info.create_time AS createTime, express_info.payMon...
List<Map<String, Object>> list = new ArrayList<>(); Map<String, Object> map = new HashMap<>(); map.put("id",1); map.put("num", 2); list.add(map); map = new HashMap<>
POI导入Excel文件,读取的数据总是少一行的问题 如果是使用 XSSFSheet 对象来获取行数的话,那获取行数的方法应该是: XSSFWorkbook xssfWorkbook = new XSSFWorkbook(is); XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(0); int row = xssfSheet.getPhysicalNu...
由于在项目中有很多地方需要用到自增序列,但是有候直接用数据库的自增序列又不太方便,比如有些需求中要求有记录的编码,编码的规则就是字母加上自定义序列的组合,如:BM0001 类似的这种自增,那我们用的数据库MySQL做自增序列实现起来相比用Redis的自增要麻烦不少,有需要的朋友可自行了解,这里不做多介绍,这篇文章需要对Spring Boot和Redis有一定的了解,不了解的朋友看不懂可自行百度。废话不多说,先引入Redis依赖: <dependency> <groupId&g..
在网上看到有很多关于redis的安装配置,都是千篇一律,不够详细,对于我们这些初学者来说要花上不少间来研究这些问题,下面我就来讲讲我的redis安装过程! 1、首先是在网上下载redis的安装文件: https://github.com/MSOpenTech/redis/releases
我们在写SQL候经常需要通过接口传递参数,传递参数的候,可以有一个或多个参数,比如订单可以通过订单编号查询,也可以通过订单名称、日期等查询。 而传递参数的候我们有多个方法 1.使用map接口传递多个参数 2.使用注解传递多个参数 3.通过Java Bean传递多个参数
function toNonExponential(num) { var m = num.toExponential().match(/\d(?:\.(\d*))?e([+-]\d+)/); console.log('value * num1-=-666=-' + JSON.stringify(m)); return num.toFixed(Math.max(0, (m[1] || '').length - m[2]));