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 发布!

相关推荐
Jul1en_4 分钟前
【Redis】事务详解、WATCH 实现思想
java·spring boot·redis·mysql·java-ee
SimonKing6 分钟前
你还在靠重启来调线程池?别人已经做到了实时调控,3分钟接入
java·后端·程序员
小张小张爱学习9 分钟前
Java并发编程面试题
java·开发语言
码不停蹄的玄黓13 分钟前
JDK 自带四大命令行工具:jstat、jstack、jmap、jhat 详解
java·开发语言
ch.ju14 分钟前
Java程序设计(第3版)第四章——set方法为属性赋值
java·开发语言
AI人工智能+电脑小能手26 分钟前
【大白话说Java面试题 第94题】【Mysql篇】第24题:什么是单路排序?什么是双路排序??
java·开发语言·数据库·mysql·面试·排序算法
我是一颗柠檬27 分钟前
【Java项目技术亮点】多级缓存一致性方案:Canal+MQ实现数据库与缓存的最终一致
java·数据库·spring·缓存·kafka·rocketmq
于先生吖27 分钟前
Java分账体系设计,网约车行程计费与到店线下结账一体化后端开发实战
java·开发语言
Solis程序员28 分钟前
拿捏登录安全:RS256 + 双令牌,把非法请求拦在 Redis 白名单门外
java·安全·缓存·面试·bootstrap·html
thisiszdy30 分钟前
<C++&C#> lambda表达式
java·c++·c#