开发踩坑记录之@Param注解插入数据返回id为空

开发的时候需要用到插入实体类返回这个实体类的id,因为是使用注解写的sql,所以就很自然的使用@Options注解来实现
@Options(useGeneratedKeys = true,keyProperty = “id”,keyColumn = “id”)
这本来是一个很简单的东西,但是我还是写了一个测试,但是发现返回居然为空,我懵了,但是我插入数据是成功了的,那就是@Options出问题了,但是不应该出问题啊,我学习的时候写过测试时没问题的啊。
然后经过仔细排查我发下我和之前写测试不同的是使用了@Param注解
在这里插入图片描述
根据我以前写sql的经验,用了@Param注解之后写如果是一个实体类的话,在sql中需要使用这个字段的话是应该从@Param中取的,我的keyProperty是AnalysisPO的id,将keyProperty内容设置为analysis.id,得到数据,解决。

@Param注解是一种常见的Java注解,用于标记方法参数的相关信息。它的重要性主要体现在以下几个方面: 1. 提供参数说明:通过使用@Param注解,可以为方法参数提供详细的说明,包括参数的用途、限制条件、取值范围等。这样可以增加代码的可读性和可维护性,方便其他开发人员理解和正确使用方法。 2. 参数校验:@Param注解可以与参数校验框架(如Hibernate Validator)结合使用,实现对方法参数的自动校验。通过在参数上添加相应的注解,可以定义参数的校验规则,如非空、长度限制、正则表达式等。在方法调用时,校验框架会自动检查参数的合法性,减少了手动编写校验代码的工作量。 3. 自动生成文档:一些文档生成工具(如Swagger)可以通过解析@Param注解来生成API文档。通过在方法参数上添加注解,可以将参数信息自动转化为文档中的参数说明,方便其他开发人员查阅和使用。 4. 参数映射:某些框架(如Spring MVC)可以通过@Param注解将HTTP请求中的参数自动映射到方法的参数上。通过在方法参数上添加注解,可以指定请求参数的名称、是否必需等属性,框架会自动将请求参数的值赋给方法参数,简化了参数获取和转换的过程。 总之,@Param注解在Java开发中具有重要的作用,可以提供参数说明、参数校验、文档生成和参数映射等功能,提高了代码的可读性、可维护性和开发效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值