我的数据库为Oracle,可以插入,更新,但在在Mybatis中执行SQL查询返回的数据发现返回NULL,但是生成SQL放在数据库中查询是有数据的,并且SQL是正确的!

这是没有改动的XML:

<select id="findAllByParentid3"  resultType="com.gdls.module.directory.model.Directory">
    SELECT a.*  FROM LS_DIRECTORY a where  a.USERID=#{0}   and    a.PARENTID=#{1}
     </select>

在一次意外中发现通过ID查询是有数据的,但是通过多参数查询就没有返回,调试通过查询ID返回的数据发现:

原因竟然是parentid后面有一大串空格!!!!!我就很郁闷了,为啥呢???

结果是数据库的PARENTID的数据类型是(Oracle中CHAR类型不足位数时,用空格自动补足位数)!那么接下来就有两种解决方案:

一:修改PARENTID为VARCHAR类型

二:修改MyBatis中XML查询语句(在需要移除空格的列上面加上trim(列名)) (我选择的第二种)

以下为修改XML查询语句:

<select id="findAllByParentid3"  resultType="com.gdls.module.directory.model.Directory">
    SELECT a.*  FROM LS_DIRECTORY a where  trim(a.USERID)=#{0} and trim(a.PARENTID)=#{1}
     </select>

好了!^_^ 完美解决!!!

mybatis查询返回空,SQL数据库执行有数据!相关推荐

  1. MyBatis 源码分析 - SQL 的执行过程

    本文速览 本篇文章较为详细的介绍了 MyBatis 执行 SQL 的过程.该过程本身比较复杂,牵涉到的技术点比较多.包括但不限于 Mapper 接口代理类的生成.接口方法的解析.SQL 语句的解析.运 ...

  2. mybatis查询返回null解决方案

    mybatis查询返回null解决方案 参考文章: (1)mybatis查询返回null解决方案 (2)https://www.cnblogs.com/zipon/p/6361661.html 备忘一 ...

  3. sql azure 语法_Azure SQL数据同步–在Azure SQL数据库之间复制数据和架构更改

    sql azure 语法 In this article, we will review how to configure the sync group to replicate data betwe ...

  4. vb 读取oracle中的表格数据,如何将数据库信息读取导出excel表格中-VB 从SQL数据库中把数据导出到Excel表格中,怎么写?...

    VB 从SQL数据库中把数据导出到Excel表格中,怎么写? INSERT INTO OpenDataSource('Microsoft.Jet.OLEDB.4.0', 'Data Source=&q ...

  5. mybatis 执行插入操作,insert 返回1,数据库中无数据。数据库中数据的创建时间和插入执行时间不一致。

    大家好,我是烤鸭: 今天记录一下线上的问题,由于不是我们组的代码,所以没参与全程,只是最后有幸听各位大佬探讨解决方案.mybatis 执行插入操作,insert返回1,日志记录和接口返回都正常,但是数 ...

  6. Mybatis 查询 返回值中只有id有值,其他都是null;

    最近在重温mybatis, 但是在做练习的时候发现一个问题; 查询,简单的查询,返回之后发现结果中,只有id被映射了值,其他属性都是null; 很纳闷,为什么一个简单的测试会出现这种问题; 一开始以为 ...

  7. mysql sql 连接查询语句_Mysql——sql数据库中的连接查询

    1.1.1   交叉连接(CROSS JOIN) 交叉连接(CROSS JOIN):有两种,显式的和隐式的,不带ON子句,返回的是两表的乘积,也叫笛卡尔积. 例如:下面的语句1和语句2的结果是相同的. ...

  8. mybatis查询返回map的问题

    文章目录 背景 1.mybatis只返回单个map 2.查询返回map的list 3.利用mybatis的@MapKey注解返回map 4.重写handler 背景 假设背景: 想获取某个省下各个市有 ...

  9. 多租户实现之基于Mybatis、Mycat的共享数据库,共享数据架构

    阅读文本大概需要3分钟. 前言 SaaS模式是什么? 传统的软件模式是在开发出软件产品后,需要去客户现场进行实施,通常部署在局域网,这样开发.部署及维护的成本都是比较高的. 现在随着云服务技术的蓬勃发 ...

最新文章

  1. Python+OpenCV 图像处理系列(4)—— 图像像素的读写、算术运算、逻辑运算及像素的统计
  2. R语言dplyr包将dataframe中的NA值替换(replace)为0实战:所有NA值替换(replace)为0、具体列的NA值替换(replace)为0、若干列的NA值替换(replace)为0
  3. 『ORACLE』 配置共享服务器(11g)
  4. 机器学习之 weka学习(五)示例用法
  5. JavaWeb重要知识点总结
  6. C++ 堆区内存分配
  7. mysql 单机_mysql单机多实例——方法1
  8. 苹果:App Store中国区无版号游戏8月1日起下架;美国计划打造量子互联网;HHVM 4.67 发布 | 极客头条...
  9. SQLite的使用一
  10. java 文件 锁定,Java中的文件锁定
  11. Echarts世界地图中国分区显示
  12. python爬取淘宝数据魔方_淘宝数据魔方技术架构解析读后感
  13. 其实,我只是一个工程师
  14. 怎么样可以在阿里云搭建个人网站及域名绑定介绍
  15. 这三年,一路走来,劈荆斩棘 – Vol 1
  16. Vault: 基础教程之密码引擎及动态密码生成
  17. 第十二章 软件壳(四)(代码抽取型壳)
  18. Cadence Allegro如何添加泪滴
  19. 卷积神经网络的三个特性
  20. 实现一个简陋的MVC框架

热门文章

  1. 工作225:当前导致name报错
  2. 前端学习(2482):关于接口的调错
  3. oracle之高级子查询2
  4. oracle之控制用户权限和练习
  5. 前端学习(1095):ES5新增方法
  6. 前端学习(731):函数的使用
  7. 课外阅读(通讯技术的发展史)
  8. 实例43:python
  9. element弹框的的this.$alert、this.$prompt方法用法
  10. CSS之中间固定两边自适应宽度