关于使用通用mapper出现的错误

本文记录了在使用通用Mapper过程中遇到的一个关于基本类型在动态SQL中不等于null的问题,详细解释了错误原因并提供了将基本类型改为包装类型的解决方案。

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

前言

最近刚开始使用通用mapper,遇到了一些比较尴尬的问题,网上搜素都是其通用Mapper如何使用,自己在此记录下来出现的错误,以便以后自己查找,也希望能给看到这篇博客的小伙伴一个小小的帮助!

问题一:

通用mapper执行的sql出现不正确现象,这个问题,很尬尴,找了很久,最后看了一下通用mapper的日志,如下:

2019-02-28 09:10:52.073 WARN 5928 — [ main]
t.m.m.m.resolve.DefaultEntityResolve : 通用 Mapper 警告信息:
<[EntityColumn{table=tb_spec_param, property=‘id’, column=‘id’, javaType=long, jdbcType=null,
typeHandler=null, id=true, identity=false, blob=false, generator=‘null’, orderBy=‘null’,
insertable=true, updatable=true, order=DEFAULT}]>
使用了基本类型,基本类型在动态 SQL 中由于存在默认值,
因此任何时候都不等于 null,建议修改基本类型为对应的包装类型!

解决:呃呃呃,好吧,我们需要将数据库对应的pojo的属性类型改为包装类型
即如下:

private long id;
private boolean cid;

改为:

private Long id;
private Boolean cid;

就可以了。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值