DBUtils返回的值一直是空值,但是数据库中的值不是空值。(问题已经解决)

第一次尝试DBUtils,所以就直接用了queryMytil的方法,当发现这个方法的时候,发现JDBC不过如此,如此简单,但是我还是低估了JDBC的困难。

以下是问题:
数据库中有值:
数据库图片如下
mysql数据库数据

但是返回后却一直不对,开始的时候,返回全是一样的false;
isorder有false有true;

总结方法可以尝试以下三种;
1、查看Bean类是否有Setter方法和Getter方法
如果有建议删除后重新构建,如果没有赶紧构建;

2、查看是否有无参构造,
如果没有赶紧构建,如果有那就重新写;

3、补充一个问题,如果一个数据是boolean类,比如你的数据库字段名称为isPayed,
如果直接使用idea的快捷键在domain类创建setter和getter方法,就会导致读出来的boolean值一直是默认值;那是因为idea的快捷键创建的setter方法名称为setPayed(),正确地应该改为setIsPayed();

第一阶段:
所以当时我的第一反应是JavaBean设置错误,所以就直接找JavaBean的属性名称对不对,以及类型对不对。
像老太太绣花一样,一个字母一个字母的对应,甚至把大写小写拿来对应,发现都是对的啊;所以一直run发现还是没有解决;

第二阶段
开始怀疑是否是数据库有缓存的问题,比如我取的其实是上次的数据,所以就开始找如何清理缓存,但是发现清理完后也不对,此时我的骄傲的内心已经不再骄傲,发现JDBC不简单啊;
所以开始在CSDN上面发表求助,希望有大佬帮助下弱小的我;结果大佬没有遇到过此问题,所以我就开始慌了,到处Google是否 Druid返回数据为何为空(但是那时的我岂能知道,Druid只是负责链接,并不负责查值),但是当时的我像热锅上的蚂蚁,不管那么多,直接到处搜索,各路神仙提供很多方法,发现仍然不管用,此时时间却一分一秒地流逝。

第三阶段
第二天,当我再次搜索,我发现了原来负责查询的是QueryMutil,所以就搜索QueryMutil返回的是null为何?
发现这个问题的回答很多,所以我看来是找对了地方,是按照这个问题来提问的,所以就开始按照这个思路来问,发现了以下几种方法:
1、应该设立空构造方法;

2、应该设立setter方法

此时我像饥饿的孩子发现一块面包,开始逐个尝试,但是我发现以上两个方法仍然不能解决我的问题,
此时就像刚那块刚发现的面包里面其实已经发霉了一样。但是我知道即使发霉了,也比没有好,所以我把每个回答都仔细观看,发现有个评论说,“即使设立了setter,也需要重新写setter和getter方法,我当时像发现有一块面包一样地兴奋,赶忙去试了试,发现居然真的可以,此时那块面包仿佛已经在我肚中;

第四阶段
在我发现有效果后,我连忙来到CSDN上面把问过的问题连忙发表:已经解决;然后似乎意犹未尽,决定写一篇文章,警醒后人,JDBC不可忽视,DBUtils一定要写好Bean的实体;

以上;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值