想问个关于JAVAweb 访问MySQL的问题

各位,我是个javaweb的初学者,这里有个小问题,我在doget方法里想要调用查询MySQL的方法,根据控制台显示,我应该是查询到了信息,但为什么我想打印对象时,却显示Null?

img


img


img

看看你service的代码是如何实现的。

看后台好像有数据,报错代码在哪里?贴一下

img

有2个地方都有输出,你这也只打印了一个

更离奇的是,图二return一个usuario对象,原本想在图一打印返回的这个对象然而却爆红(两个类都不在一个包,但已经导入包了)

注解少了吧, 参看这里: https://blog.csdn.net/qq_52397471/article/details/124816337

如果在 doGet 方法中调用的 MySQL 查询方法返回了查询结果,但在尝试打印对象时显示了 null,可能是因为 MySQL 查询方法没有正确调用或者返回了 null。

要解决这个问题,您需要检查以下内容:

1、确保 MySQL 查询方法的调用正确:检查方法的调用参数是否正确,以及方法是否返回了预期的结果。
2、确保 MySQL 查询方法没有返回 null:检查 MySQL 查询语句是否正确,以及是否有可能返回空结果集。如果查询方法可能返回 null,则应在调用方法之前进行 null 检查。
下面是一个示例代码,显示了如何调用 MySQL 查询方法并进行 null 检查:


// 调用 MySQL 查询方法
Object result = queryMySQL();

// 进行 null 检查
if (result == null) {
    // 如果查询结果为 null,则执行某些操作
    ...
} else {
    // 如果查询结果不为 null,则打印对象
    System.out.println(result);
}

希望这些信息能帮助您解决问题。

usuarios与数据库字段是否已经映射,是否提供了getter,setter方法

不介意的话,贴一下 对应的mapper.xml的代码吧,问题应该是在这

首先,您可以将调用MySQL的方法的代码加上try-catch语句,以便捕获可能出现的异常。然后,您可以在catch语句中打印出异常的信息,以便了解问题的原因。

另外,在进行MySQL查询时,您也应该检查查询的结果是否为空。如果查询的结果为空,则打印出的对象也将为空。

此外,您也可以尝试使用调试工具(如Eclipse的Debug功能)来检查代码执行过程中变量的值是否正常。这可能有助于您找出问题的原因。

说明根据条件查询,确实没查到数据呗

首先,你可以将后台的sql语句复制到数据库中查询是否有数据,我看你图片中打印信息显示有两行记录数据;
其次,应该是你mapper.xml中没有映射好对象,在可能出现问题的地方多打印几个sout信息;
最后,你可以断点执行下,跟跟代码,先判断出问题可能所在,缩小范围,然后再进一步排查。
祝好,工作顺利!