Mybatis There is no getter for property named 'XXX' in 'class **' 问题

这可以说是个很恼人的问题了

今天写注册方法的时候遇到了这个问题,搞得我一下午都没弄好,一直到现在,把我的类名去掉,居然就解决了,真是哭笑不得

问题的产生


@Insert("insert into users (`username`,`password`,`name`,`roles`,`create`) " +
" values( #{user.username} ,#{user.password} , #{user.name} ,#{user.roles} ,#{user.create} )")

 public void registerUser(@Param("user") user);

这个问题事实上根本不是什么大问题,但是我的代码错误太多了,所以导致了我没有通过任何一个方法一次性解决问题,使我没有意识到问题的解决方法早已被我用了一个遍。

我当时是把网上流传的两种方法挨个试一遍,试一个不行就把代码恢复原样再试下一个,结果搞半天也没好,因为我是多种问题杂合了;

1.首先就是字段和类属性的类型不对应,这个我直接把属性的类型改成一样的了
2.然后改完他还报一样的错,我接着思考,死马当活马医把 user.name的类前缀user给去掉了,还把Param注解也去掉,结果成功了。

//修改后的代码
@Insert("insert into users (`username`,`password`,`name`,`roles`,`create`) " +
" values( #{username} ,#{password} , #{name} ,#{roles} ,#{create} )")

 public void registerUser(user);

其根本原因应该是mybatis的依赖版本问题,有些版本使用类名前缀,有些则不使用,才导致了这个问题

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值