There is no getter for property named 'jobNumber' in 'class java.lang.Integer' 的解决办法

本文针对MyBatisPlus动态SQL中遇到的参数传递异常,详细介绍了两种有效的解决方案,包括使用@Param注解及_mybatis内置对象_parameter,帮助开发者避免因参数类型不匹配引发的反射异常。

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

问题概述

在基于微服务架构风格的项目开发过程中,为了提高快速开发的目的,提高开发效率,集成了 MyBatisPlus,对于 MyBatisPlus 封装的 CRUD API 接口已经非常强大了,但是有时还是需要使用其动态 SQL 的拼接,在传参时遇到了个梗,异常信息 “ nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'jobNumber' in 'class java.lang.Integer' ” 

如下图:

 

 

解决办法

各种摸索,各种尝试,得出了三种解决办法,在这儿记录一下(只记录中的两种),

1、在入参的时候,加入直接 @Param ,其 value 属性值就是其入参的名称,

Java 代码示例代码如下:

public interface LoginLogMapper
        extends BaseMapper<LoginLog>
{

    List<LoginLog> getLoginLogByPage(
            @Param(value = "jobNumber")
                    Integer jobNumber
    );
}

SQL 代码示例如下:

<select id="getLoginLogByPage" resultType="com.mcp.entity.LoginLog">
	SELECT l.id, l.job_number, l.name, l.createDate, l.ip_addr
		, l.remark
	FROM loginlog l
	<where>
		<if test="jobNumber != null" >
			and l.job_number = #{jobNumber}
		</if>
	</where>
	GROUP BY l.today_date, l.ip_address;

</select>

添加 @Param 注解后,就可以成功请求处理,如下图:

 

2、Java 代码不变,只修改 SQL ,SQL中的入参使用MyBatis的一个内置对象 “ _parameter ”,

Java 示例代码如下:

public interface LoginLogMapper
        extends BaseMapper<LoginLog>
{

    List<LoginLog> getLoginLogByPage(Integer jobNumber);
}

示例SQL如下:

<select id="getLoginLogByPage" resultType="com.mcp.entity.LoginLog">
	SELECT l.id, l.job_number, l.name, l.createDate, l.ip_addr
		, l.remark
	FROM loginlog l
	<where>
		<if test="_paramete != null" >
			and l.job_number = #{_paramete}
		</if>
	</where>
	GROUP BY l.today_date, l.ip_address;

</select>

 

 

 

 

 


 好了,关于 There is no getter for property named 'jobNumber' in 'class java.lang.Integer' 的解决办法  就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。 
歇后语:“ 共同学习,共同进步 ”,也希望大家多多关注CSND的IT社区。


作       者:华    仔
联系作者:who.seek.me@java98k.vip
来        源:优快云 (Chinese Software Developer Network)
原        文:https://blog.youkuaiyun.com/Hello_World_QWP/article/details/86504767
版权声明:本文为博主原创文章,请在转载时务必注明博文出处!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TechBro华仔

日拱一卒无有尽,功不唐捐终入海

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值