数据库有数据,sql语句在MySQL中可以正常查询出数据,但mybatis查询的时候就出现问题了,查询数据为null

问题:数据库有数据,sql语句在MySQL中可以正常查询出数据,但mybatis查询的时候就出现问题了,查询数据为null,不知道问题出在哪儿,劳烦各位帮忙看一下问题。
实体类:

img


数据库数据类型:

img


数据库正常运行并有数据查询出来:

img


控制层代码:

img


mapper:

img

以下是配置文件application.yml中的连接数据库url配置:

url: jdbc:mysql://localhost:3306/huofenspringcloud?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&useAffectedRows=true&allowMultiQueries=true&characterEncoding=UTF-8

mybatis部分:

mybatis:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.test.springcloud.pojo
  configuration:
    map-underscore-to-camel-case: true #允许驼峰格式命名

以上就是问题代码全部了,始终找不到问题所在

token值传错了?前边多了这个token=吧

img


直接复制这个值去数据库查

img

看debug的情况应该是你传参的时候路径 写成 /getInfo/token=xxx 了。

img

你这里传参用的是path value的方式,所以直接请求的时候将值放在后面就行,也就是 /getInfo/xxx。就可以了,不用再去拼token=。

  • 这篇博客: Mybatis细致讲解中的 然后我们回到Mybatis.xml这个配置文件中,为了保证我们可以让mybatis文件索引到我们的mysql映射文件,我们需要在下面加上mapper映射路径: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 请添加图片描述

  • 以下回答由chatgpt基于相关博客总结生成:

    由于缺乏实际代码和报错信息,无法具体定位问题。以下提供一些可能导致查询返回NULL的原因及解决方法供参考:

    1. 数据库连接配置不正确 可以检查application.yml配置文件中的数据库连接参数,包括数据库连接URL、用户名、密码等是否正确。

    2. Mapper文件中的SQL语句有误 可以检查Mapper文件中的SQL语句,包括表名、字段名等是否正确。特别是如果使用动态SQL语句,还需要根据实际情况检查条件分支等。

    3. 实体类属性名称与数据库字段名不匹配 可以检查实体类中的属性名称是否与数据库字段名一致,或者通过Mybatis的resultMap来进行属性名和字段名的映射。

    4. 查询语句中使用了错误的数据类型 可以检查查询语句中使用的参数类型是否与数据库中的数据类型相一致。如果使用了错误的数据类型,在查询时可能无法匹配成功。

    5. 数据库中的数据与查询条件不匹配 可以检查数据库中的数据是否符合查询条件,或者检查查询条件是否与数据库字段类型一致,如果类型不一致可能会导致查询失败。

    6. MyBatis版本太低 可以考虑升级MyBatis版本,重新编译和运行程序。

    无论如何,我们需要收集更多的信息来定位问题所在。可以通过查看程序运行时的日志信息、调试程序、使用MyBatis的Debug模式等方法,来进一步了解问题的具体原因。

token值不对

img