mapper.xml无法解析字段的问题

 更新时间:2023年06月26日 11:11:25   作者:火山爱吃白菜  
这篇文章主要介绍了mapper.xml无法解析字段的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

mapper.xml无法解析字段

写mapper.xml遇到一个问题,语句里的字段都爆红,无法解析,也找不到数据源

网上找了很多方法

找到 File->Settings->Languages&Frameworks->SQL Resolution Scopes 左边选择你的mapper包路径,解析范围选择自己的数据库源,不要选择默认

要是没有的话

添加自己的数据库源

还有一种情况是你的idea创建数据源没有更新

我的情况是在navicat修改了数据库字段,但没有更新idea里的数据源,所以也会报错

refresh一下,字段报错就消失啦 

mapper.xml报错

HTTP状态 500 - 内部服务器错误

类型 异常报告

消息 Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'user_name)' not found. Available parameters are [size, user_name, page, param3, param1, param2]

描述 服务器遇到一个意外的情况,阻止它完成请求。

例外情况

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'user_name)' not found. Available parameters are [size, user_name, page, param3, param1, param2]
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)

根本原因。

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'user_name)' not found. Available parameters are [size, user_name, page, param3, param1, param2]
    org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:96)
    org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441)
    com.sun.proxy.$Proxy17.selectList(Unknown Source)
    org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224)
    org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147)
    org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80)
    org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:145)
    org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86)
    com.sun.proxy.$Proxy22.queryUsername(Unknown Source)
    com.zqh.service.UsersServiceImpl.queryUsername(UsersServiceImpl.java:93)
    com.zqh.controller.UsersController.queryUsername(UsersController.java:76)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:498)
    org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
    org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)
    org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
    org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)

根本原因。

org.apache.ibatis.binding.BindingException: Parameter 'user_name)' not found. Available parameters are [size, user_name, page, param3, param1, param2]
    org.apache.ibatis.binding.MapperMethod$ParamMap.get(MapperMethod.java:212)
    org.apache.ibatis.reflection.wrapper.MapWrapper.get(MapWrapper.java:45)
    org.apache.ibatis.reflection.MetaObject.getValue(MetaObject.java:122)
    org.apache.ibatis.executor.BaseExecutor.createCacheKey(BaseExecutor.java:219)
    org.apache.ibatis.executor.CachingExecutor.createCacheKey(CachingExecutor.java:146)
    com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:83)
    org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62)
    com.sun.proxy.$Proxy36.query(Unknown Source)
    org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151)
    org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:145)
    org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:498)
    org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)
    com.sun.proxy.$Proxy17.selectList(Unknown Source)
    org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224)
    org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147)
    org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80)
    org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:145)
    org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86)
    com.sun.proxy.$Proxy22.queryUsername(Unknown Source)
    com.zqh.service.UsersServiceImpl.queryUsername(UsersServiceImpl.java:93)
    com.zqh.controller.UsersController.queryUsername(UsersController.java:76)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:498)
    org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
    org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)
    org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
    org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)

原因:mapper.xml敲代码的时候多敲了一个),一个小东西,排错一下午!!!!!!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java统计字符串中特定字符出现次数的几种常用方法

    Java统计字符串中特定字符出现次数的几种常用方法

    在编程的过程中,我们常常会遇到需要分析字符串的情况,比如统计某个特定字符出现的次数,这种操作在处理文本数据时非常实用,今天,我们就来聊一聊如何在Java中统计字符串中特定字符的出现次数,需要的朋友可以参考下
    2025-04-04
  • 图数据库NebulaGraph的Java 数据解析实践与指导详解

    图数据库NebulaGraph的Java 数据解析实践与指导详解

    这篇文章主要介绍了图数据库NebulaGraph的Java 数据解析实践与指导详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 浅谈Java设计模式之七大设计原则

    浅谈Java设计模式之七大设计原则

    在此之前,我已经写过很多篇关于设计模式的文章.但都比较草草的理解和简单的实现,并未深入理解.为了更加深入感受Java设计的魅力,编程的艺术,今天进行了七大设计原则的学习理解,后续进行23种设计模式的深入学习探究,需要的朋友可以参考下
    2021-05-05
  • Java AES加密和解密教程

    Java AES加密和解密教程

    这篇文章主要介绍了Java AES加密和解密的相关资料,帮助大家更好的理解和学习Java,感兴趣的朋友可以了解下
    2020-12-12
  • Spring Data JPA 设置字段默认值方式

    Spring Data JPA 设置字段默认值方式

    这篇文章主要介绍了Spring Data JPA设置字段默认值方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • 详解Java中的增强 for 循环 foreach

    详解Java中的增强 for 循环 foreach

    foreach 是 Java 中的一种语法糖,几乎每一种语言都有一些这样的语法糖来方便程序员进行开发,编译期间以特定的字节码或特定的方式来对这些语法进行处理。能够提高性能,并减少代码出错的几率。
    2017-05-05
  • 使用Java Api操作HDFS过程详解

    使用Java Api操作HDFS过程详解

    这篇文章主要介绍了使用Java Api操作HDFS过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • SpringBoot生成PDF的方法

    SpringBoot生成PDF的方法

    生成PDF是一种常见的需求,本文主要介绍了SpringBoot生成PDF的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-05-05
  • WebService的相关概念

    WebService的相关概念

    这篇文章主要介绍了WebService的相关概念的相关资料,需要的朋友可以参考下
    2017-10-10
  • Java的字节缓冲流与字符缓冲流解析

    Java的字节缓冲流与字符缓冲流解析

    这篇文章主要介绍了Java的字节缓冲流与字符缓冲流解析,Java 缓冲流是Java I/O库中的一种流,用于提高读写数据的效率,它通过在内存中创建缓冲区来减少与底层设备的直接交互次数,从而减少了I/O操作的开销,需要的朋友可以参考下
    2023-11-11

最新评论