启动WARN:This primary key of “id“ is primitive !不建议如此请使用包装类 in Class原因分析

文章描述了在使用Mybatis-Plus框架时遇到的一个警告,该警告提示主键字段id是原始类型,不推荐使用。解决方案是将主键类型从int改为Integer这样的包装类。这有助于避免数据处理时的潜在问题。

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

现象

项目启动时出现<This primary key of "id" is primitive !不建议如此请使用包装类 in Class:xxx>异常。

WARN 22232 --- [           main] c.b.m.core.metadata.TableInfoHelper      : This primary key of "id" is primitive !不建议如此请使用包装类 in Class: "com.lizz.po.UserPO"

原因

mybatis-plush框架对数据类型进行判断

 Class<?> keyType = tableInfo.getReflector().getGetterType(property);
            if (keyType.isPrimitive()) {
                logger.warn(String.format("This primary key of \"%s\" is primitive !不建议如此请使用包装类 in Class: \"%s\"", property, tableInfo.getEntityType().getName()));
            }

keyType.isPrimitive(),当对象主键类型是原始类型时,报出错误提示。

解决方案

将对象中的主键改为非原始类型即可。

如:

@Data
public class UserPO {
    @TableId(value = "id", type = IdType.AUTO)
    private int id;
    private String userId;
}

改为:

@Data
public class UserPO {
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    private String userId;
}

这个错误是因为在Vue的mounted钩子函数中发生了一个型错误。具体来说,错误信息提示"TypeError: this.dom.getContext is not a function"。根据引用和引用,这个错误可能是由于使用了错误的方法或属性导致的。 解决这个问题的方法是通过检查代码中使用的方法和属性是否正确。根据引用中提供的解决方法,可能需要使用this.$set来设置数据,或者使用this.$refs来获取DOM元素。此外,也需要确保代码中使用的方法或属性是存在的,并且正确地引用了相应的对象。 另外,根据引用的代码示例,你可能需要使用this.$refs.chart来获取图形容器对象,而使用document.getElementById。这样可以确保正确地引用了DOM元素。 总之,通过检查代码中使用的方法和属性,并确保正确地引用相应的对象,可以解决这个错误。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [vue报错:Error in mounted hook: “TypeError: handler.call is not a function](https://blog.csdn.net/wzyleix97/article/details/120699270)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Vue 报错TypeError: this.$set is not a function 的解决方法](https://download.csdn.net/download/weixin_38550146/12948478)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [[Vue warn]: Error in mount hook: “TypeError: Cannot read properties of null (reading ‘getAttribute...](https://blog.csdn.net/weixin_52691965/article/details/120253541)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

lizz666

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值