这是我参与做的第一个商业项目,采用的是springboot+   mybatis-plus开发的。数据库采用的是oracle。

这天我做了一个方法是根据两个字段查询数据库的数据列表,其中一个字段是类型(type) 。方法很简单,不一会儿就做出来了,这里不得不感叹mybatis-plus的强大,代码量很小!接下来就是测试了,由于数据库已经有一条测试数据,所以直接启动项目进行测试,可是结果查不出结果,页面不报错,控制台也没有报错只是说查询结果为空。

接下来就是排查过程了,查看数据库数据 确实有数据,把控制台打印出来的sql放到数据库中运行,能查到结果,debug断点测试,参数能正常传入!难道是方法错了?刚好同项目组有个同事 叶子做类似的一个方法 也是根据两个字段查询数据库的数据列表,并且也有一个字段是类型(type),我们这个项目数据库都是有同一个同事设计的,所以type的类型都是一样的 。可是同事做的类似的方法却能查出来数据。因为是用的mybatis-plus的条件构造器,所以,方法几乎一样。所以方法应该也没问题。各种方法都试过了没有答案!刚好这时候同事的第二个累死的方法做出来也是查不出来数据,也是相同的情况,参数中有一个type。会不会问题就出在这个type上啊,然后我吧type参数去掉用另外一个参数查询,结果是可以查到数据。那么问题出来了,就是出在这个type上了!

仔细研究一下这几个entity中的type属性 没什么问题,会不会是数据库有问题啊 ?基于对设计数据库同事技术的信任,加之之前数据库意志没出现过问题,所以之前一直没往这方面考虑,仔细研究发现每个表中type字段的数据类型是char(6),定长六位字符,于是豁然开朗!我这同事 是“智者千虑,偶有一失”啊。我的数据库表中存储的type值只可能是四个,即 1.2.3.4,代表四种类型。都不足六位字符,所以被空格补齐,难怪查不出数据!

解决办法:

1.沟通构建数据库的同事,把type类型更改为varchar(),并且删除之前的测试数据 ,重新录入测试数据

2.数据库不做更改,但是在sql语句中 where之后的出问题的条件字段做处理  如我的处理方法: 。。。where  trim(type)=#{type} 。。。(该方法不适用mybatis-plus的条件构造器,适用手写的sql)

第一次写博客  有什么错误 欢迎大神批评指正。谢谢!望大家避免类似的坑。同时祝各位大神程序畅行一路无bug!

oracle数据库查询,sql没问题,数据库也有数据,方法没错,项目运行就是查不出数据相关推荐

  1. oracle的分页查询怎么写,ORACLE分页查询SQL语法

    ORACLE分页查询SQL语法 --1:无ORDER BY排序的写法.(效率最高) ­ --(经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响,速度依然!) ­ S ...

  2. oracle分页查询sql语句通用,oracle分页查询sql语句,oracle分页查询sql语句详解

    oracle分页查询sql语句,oracle分页查询sql语句详解,Oracle分页查询sql语句 Oracle中分页和MySql中的分页不同,MySql中的分页使用关键字limit即可,相对简单一点 ...

  3. Access数据库转换为SQL Server 2000数据库

    建立Access数据库student.mdb,建立表student如下(若已有Access数据库则不需要建立): student num name age fromw school major sco ...

  4. oracle审计查询sql语句,Oracle 数据库审计

    保证数据库的安全有两种方式,一种是通过权限的存取控制机制,即通过预先控制来防止安全事件的发生:另一种是数据库审计,即对数据库活动做跟踪记录,当发生安全事件时,通过对数据库活动记录进行审计来发现并修复安 ...

  5. mysql数据库查询sql执行日志(linux环境)

    1.登录数据库确认是否开启了日志 2.查询日志文件 3.使用mysql自带的mysqlbinlog查询二进制文件 一.登录数据库确认是否开启了日志 mysql -uroot -p 登录成功之后查询操作 ...

  6. 数据库高可用性——SQL Server 2005数据库复制简单图解

        本鸟给大家浅谈一下SQL 2005数据库的复制过程,那么为什么要进行复制呢?数据库复制是指:将表格或数据库的数据复制到另一个表格中或数据库中,利用数据库复制技术可以把数据库全部内容完整的复制到 ...

  7. oracle分页查询sql语句的rn,Mysql和Oracle中的分页SQL语句

    以前总结过一篇,Oracle分页查询语句的优化,当时对Oracle分页语句也着实花费了点时间记忆,不过今天在面试的时候,又考到了不同数据库的分页sql语句,对Oracle数据库的书写又存在了问题,以为 ...

  8. java数据库查询语句题_数据库查询语句面试

    Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题 ...

  9. Mysql数据库查询去除重复_mysql数据库如何去重复数据

    mysql数据库去重复数据的方法: 方法一:防止表中出现重复数据 当表中未添加数据时,可以在MySQL数据表中设置指定的字段为PRIMARY KEY(主键) 或者 UNIQUE(唯一) 索引来保证数据 ...

  10. 数据库封装 sql server mysql_mysql数据库封装

    /** * name: sql操作封装,可扩展 . * User: 张云山 * Date: 2016/9/4 * Time: 22:02 */ //php文件编码设置 header('Content- ...

最新文章

  1. 【风控术语】数字金融反欺诈技术名词表
  2. mybatis 传入id_想深入理解MyBatis架构及原理实例分析 把握这些就够了
  3. php 输出01,php基础01_thinkphp输出Hello World-Go语言中文社区
  4. 系统制成docker镜像_docker 制作自己的镜像
  5. BZOJ1191: [HNOI2006]超级英雄Hero(二分图匹配)
  6. python错误异常处理try except Error
  7. Python——获取CPU的线程数量
  8. win10系统的快捷键
  9. ORB-SLAM3 一张图梳理mono_kitti.cc主流程
  10. 写给想学 Javascript 朋友的一点经验之谈
  11. DataFormatString格式化
  12. navicat premium for Mac 云盘分享破解版
  13. HTML元素居中的三种方法
  14. 两个同级路由如何相互访问
  15. A调用B方法,@Transactional事务失效情况
  16. Javaweb 新浪云平台部署
  17. 修改php fpm监听端口,怎样修正php fpm监听端口_后端开发
  18. Debian 10上设置和配置证书颁发机构(CA)
  19. Java实现简单的售货机程序2
  20. pytorch tensor 初始化_Pytorch - nn.init 参数初始化方法

热门文章

  1. 微信开发者工具模拟扫描二维码调试
  2. 梦游计算机,传承与奉献!《梦幻西游》电脑版《梦游敦煌》完结
  3. 通过scheme协议启动app
  4. 基于JSP的学术交流论坛系统的设计与实现
  5. c语言:输入三角形的边长求面积
  6. c#进行三角形周长面积计算公式_C#程序设计 输入三角形三边长,并计算的周长和面积...
  7. springboot基于web儿童教育网站111123
  8. notes java api_Java中通过Notes API访问Domino数据库
  9. 电脑进程说明,常见,作用,说明,是否,查看,问题
  10. Win10 文件夹删不掉,提示需要来自XXX的权限才能对此文件夹进行更改