恳求各位看一下,为什么输出是null,单独测试后面两次是有数据的,为什么三个一起就出不来数据了
1条回答 默认 最新
关注 - 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7400330
- 你也可以参考下这篇文章:mybatis判断是否为null和空字符串
- 除此之外, 这篇博客: mybatis查询数据库返回数据全为null中的 异常过程 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
springboot框架加mybatis的整合在查询数据时返回数据正确条数但内容全为null
mapper.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ly.mybatis.mapper.EmpMapper"> <!-- List<Emp> getAllEmp();--> <select id="getAllEmp" resultType="emp"> select * from emp </select> </mapper>
Emp.java
private Integer eId; private String eName; private Integer eAge; private String eSex; private String eEmail;
数据库字段名
test.java
@Test public void testGetAllEmp(){ SqlSession sqlSession = SqlSessionUtils.getSqlSession(); EmpMapper empMapper = sqlSession.getMapper(EmpMapper.class); List<Emp> emps = empMapper.getAllEmp(); emps.forEach(emp-> System.out.println(emp)); }
异常结果截图
- 以下回答由chatgpt基于相关博客总结生成:
建议采取以下解决方案:
1.检查生成的实体类的属性名和数据库中的字段名是否一致。可以通过在xml文件的查询标签中加入resultMap属性,属性值与上方的resultMap标签的id值相同来解决这个问题。
2.使用as保证数据库中的字段名和实体类中的属性名一致,例如:
<select resultType="com.fh.model.User" id="findAllUser"> select user_id as userId,user_name as username,user_sex as sex from t_user_idea </select>
3.在调用Mapper方法时,对查询结果进行判空处理,或者在查询语句中带上数据记录的主键列,这样即使查询字段皆为NULL值也能得到一个对象实例。
4.仔细检查SQL语句是否正确,特别是在多个字段之间的逗号是否漏掉。
总之,需要逐一排查查询结果为null的原因,可能是命名不一致、写错SQL语句、未对查询结果进行判空处理等等问题导致。要尽量细心严谨地处理问题,避免出现类似问题。
解决 无用评论 打赏 举报
悬赏问题
- ¥15 openpcdet自制数据集评估bev精度和3d精度相同
- ¥15 excel 上下按钮 显示行
- ¥20 云卓h12pro 数传问题
- ¥20 请问有人知道怎么用工艺库里面的sdb文件通过virtuoso导出来library里面每个cell的symbol吗?
- ¥20 海思 nnie 编译 报错
- ¥50 决策面并仿真,要求有仿真结果图
- ¥15 关于路由器的路由协议配置
- ¥15 springboot接入微信支付SDK
- ¥50 大区域的遥感影像匹配 怎么做啊
- ¥15 求解答:pytorch跑yolov8神经网络受挫