• 记一次mybatis的坑


    前几天代码突然之间报了一个问题,直接抛出异常

    nested exception is org.apache.ibatis.binding.BindingException: Parameter 'userId' not found.

    说一下我项目中使用的说mybatis作为持久化框架的。

    出现了问题后,就赶快去解决,字面的含义是没有找到userId的属性,然后我想可能是实体类中没有这个属性,然后去看实体类是否有该属性,看了以后实体类中有这个属性,排除了这个错误;

    然后又想是否是字段拼写错误,使用的是@Param注解进行传参的(注意@Param括号中的值是要和mapper.xml中的值一一对应的,否则是找不到的),然后看了一下,字段拼写正确,我也想我应该不会犯这么低级的错误;

    例如我们的mapper文件中这样写到

    User getUser(@Param(“userId”)String userId); 然后在mapper.xml中的查询语句中是要使用userId去匹配的,否则是会报错,找不到该属性。

    然后又试一下一下,将注解去掉,重新导入一次,咦,正确了,好高兴。

    然后看了一下确定了最后的错误的地方是在哪里,原来是导包的时候出现了问题。

    原来在SpringBoot中@Param是有两个注解的,

    一个是spring的org.springframework.data.repository.query.Param,

    一个是mybatis的org.apache.ibatis.annotations.Param;

  • 相关阅读:
    令人恼怒!mount windows共享目录出错
    今天修改PCB板图
    在深圳出差
    触摸屏技术原理介绍
    getrlimit和setrlimit函数
    OpenCV下的HelloWorld
    两本OpenCV的书到了
    GDB用法小结
    没搞懂自适应二进制阈值化的参数
    【JavaScript】73 逆序的三位数 (10分)
  • 原文地址:https://www.cnblogs.com/0630sun/p/11456051.html
Copyright © 2020-2023  润新知