Mybatis 查询结果为 null,实际 sql 查询有值

现象

今天使用 mybatis 查询列表,结果查出的是一个有 size 的列表,但是内容都是 null

分析

实际为 null

最先想到的是 sql 有问题,执行了一遍发现结果是有值的。

使用了继承

网上还有一种说法,说是使用了继承。

导致反射可能没有值,看了下代码,model 类是没有继承的。

ResultType 与 ResultMap

后来看了一遍文章,

原因:

只有当数据库表中的字段名称与实体类中的属性名称完全相同,才能直接使用 resultType 返回类型,后面跟上该实体类的名称。

否则一定需要用 resultMap 进行属性映射,否则得到的数据一直没有匹配的实体类与之对应,返回的结果也自然为空!!!

感觉这个最可能,经验证确实是这个原因。

参考资料

解决mybatis查询结果一直为null,但是数据库表查询却有结果

mybatis 查询list,内容为null,但list的size 为1

mybatis查询出字段为null,但是sql查出来有值

本文由博客一文多发平台 OpenWrite 发布!

相关推荐
圆山猫6 小时前
[Virtualization](四):Linux KVM/RISC-V 的 vCPU 运行路径
java·linux·risc-v
城管不管7 小时前
ReAct、Plan-and-Execute、Reflection 三大智能 Agent 范式核心区别
java·人工智能·算法·spring·ai·动态规划
IT小白杨7 小时前
从环境制备到自动化工作流:多账号运营的工程化架构拆解
java·经验分享·自动化·安全架构·指纹浏览器
豆瓣鸡8 小时前
算法日记 - Day3
java·开发语言·算法
萧瑟余晖8 小时前
Java深入解析篇九之NIO详解
java·网络·nio
The Chosen One9858 小时前
高进度算法模板速记(待完善)
java·前端·算法
极光代码工作室10 小时前
基于SpringBoot的课程预约系统
java·springboot·web开发·后端开发
Leighteen11 小时前
`try-finally` 里的 `return`:为什么 `finally` 会悄悄改掉返回值、吞掉异常
java·开发语言
名字还没想好☜12 小时前
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势
java·数据库·golang·go·goroutine
圆山猫12 小时前
[Virtualization](三):RISC-V H-extension 与 Guest 执行模式
android·java·risc-v