问题描述
使用debug模式调试程序,发现 sql 语句和params参数都有值且正确,但是执行query.getRusltList() 方法,却返回 null 值。
未解决问题前代码:
controller 层代码
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190527191102921.png)
dao 层代码
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190527191203568.png)
解决办法
经过对代码仔细观察,调试后,最终发现问题在于java代码传入 空值 参数时格式不正确,数据库中可以用单引号 ‘’ 表示空值执行sql语句,但是java中不能将其解析为空值,但也不会报错误,所以造成问题很难发现。最后,在Java代码中直接用双引号 “” 表示空值,问题解决, query.getResultList() 正常输出值。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190527191817389.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190527191831636.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0NoYXJsZXNNbzE5OTY=,size_16,color_FFFFFF,t_70)