mybatis resultMap映射时出问题

在使用SpringBoot和Mybatis时遇到了resultMap映射问题,详细讲述了实体类属性、SQL字段值与表字段的对应,以及由于在column属性中使用了库名.表名.字段名导致的问题。解决方案是为字段起别名并重新映射。测试表明,该问题可能特定于MySQL数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般情况

1.实体类属性名,sql语句中使用的字段值和创建表的字段值之间的相互对应

2.定义了resultMap却没使用,还是用了resultType

3.特殊情况,在下就是这个原因,以下详情

在这里插入图片描述

这里我用了springboot框架,mysql数据库和一个动态sql语法
column属性中写的是下面sql语句中使用的字段值,property属性是对应实体类的属性名,
每一个字段值100%没问题:以下是mapper文件中所使用的sql语句的测试:

在这里插入图片描述

和运行结果:

在这里插入图片描述

测试方法:

在这里插入图片描述

查询的debug日志和结果:

在这里插入图片描述

最后发生错误位置

在这里插入图片描述

解决方案

在这里插入图片描述

原因:
在下觉得从查询结果中就基本上了解了:

在这里插入图片描述

致直接看解决方案的朋友:

1.应该是使用了mysql数据库(不确定Oracle数据库是否会出这个问题)
2.应该resultMap手动映射column属性中用了 库名.表名.字段名,
3解决:给字段起别名,重新映射一下

|
|
|
|
|
|
|
|
|
|

背景图片 玛丽莲梦露 虽然很性感,但是我通常都是直接忽视,因为在下的眼中只有代码!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值