zoukankan      html  css  js  c++  java
  • 记一次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;

  • 相关阅读:
    编写程序,验证string是ipV4地址
    TCP三次握手和四次挥手
    链表和数组的区别
    cookie和session的区别
    GET和POST的区别
    TCP和UDP的区别
    java HashMap和Hashtable的区别
    java 堆和栈的区别
    最小栈的实现
    关于几个位运算的算法分析
  • 原文地址:https://www.cnblogs.com/0630sun/p/11456051.html
Copyright © 2011-2022 走看看