关于使用Mybatis时实体类字段切记要使用包装类型


  每周的博客从5月份有开始断更了,看来坚持每周写一篇博客缺失很难,不过从这周开始,除了一方面把之前的那几周没写的博客补回来,另一方面从这周开始要真正逼自己的写一篇博客,并争取在7月份前搭建起自己的个人博客网站!好,废话少说,接下来快速进入今天的话题。

  今天写的博客还是写自己开发过程中遇到的坑。相信大家在开发Java web应用时对Mybatis这个第三方ORM(对象关系映射)框架并不陌生,但在开发过程有没有遇到坑呢?作者本人在开发过程就遇到这个坑,这个坑对自己的伤害挺大的😂这个坑具体是怎么样的呢?听我慢慢描述。 首先在我的项目里我定义了如下这个java entity类 - RiskSchemeNodeInfo。

在这里插入图片描述
   接着我定义了这个实体类的mapper类,并继承了框架中的CommonsMapper公共类,这个公共类有着丰富灵活的增删改查方法。如下图所示
在这里插入图片描述
   紧接着我在某个类中使用到了这个mapper类的updateByPrimaryKeySelective方法,如下图所示。谁知当我更新RiskSchemeNodeInfo这个类所对应的数据库表字段时,发现available这个字段在控制台打印的更新sql语句中居然没有,正常来说应该是update xxxx set available = ?, xxx = ? … where xxx = ?这样的形式,但是其它字段都有打印呀,就available这个字段没有!我就纳闷了。

在这里插入图片描述   经过再三思考,我把RiskSchemeNodeInfo中的available这个字段的数据类型由boolean改成了Boolean,也就是改为了其包装类型。如下图所示:
在这里插入图片描述
   重启了项目运行时发现居然可以了,原来是数据类型搞得鬼!大家在编写java bean对象并应用到orm框架(如Mybatis或Hibernate等等)时,一定要切记将java bean类中所有字段的数据类型都写成其包装类型,也就是要写Integer而不是int,其它数据类型以此类推!


   好,今天就讲到这里,早睡,晚安!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Melo_FengZhi

您的鼓励对我就是巨大的动力!

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

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

打赏作者

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

抵扣说明:

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

余额充值