mapper.xml無法解析字段的問題
mapper.xml無法解析字段
寫mapper.xml遇到一個問題,語句里的字段都爆紅,無法解析,也找不到數(shù)據(jù)源
網(wǎng)上找了很多方法
找到 File->Settings->Languages&Frameworks->SQL Resolution Scopes 左邊選擇你的mapper包路徑,解析范圍選擇自己的數(shù)據(jù)庫源,不要選擇默認

要是沒有的話

添加自己的數(shù)據(jù)庫源
還有一種情況是你的idea創(chuàng)建數(shù)據(jù)源沒有更新
我的情況是在navicat修改了數(shù)據(jù)庫字段,但沒有更新idea里的數(shù)據(jù)源,所以也會報錯

refresh一下,字段報錯就消失啦
mapper.xml報錯

HTTP狀態(tài) 500 - 內(nèi)部服務器錯誤
類型 異常報告
消息 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敲代碼的時候多敲了一個),一個小東西,排錯一下午?。。。。?!
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java統(tǒng)計字符串中特定字符出現(xiàn)次數(shù)的幾種常用方法
在編程的過程中,我們常常會遇到需要分析字符串的情況,比如統(tǒng)計某個特定字符出現(xiàn)的次數(shù),這種操作在處理文本數(shù)據(jù)時非常實用,今天,我們就來聊一聊如何在Java中統(tǒng)計字符串中特定字符的出現(xiàn)次數(shù),需要的朋友可以參考下2025-04-04
圖數(shù)據(jù)庫NebulaGraph的Java 數(shù)據(jù)解析實踐與指導詳解
這篇文章主要介紹了圖數(shù)據(jù)庫NebulaGraph的Java 數(shù)據(jù)解析實踐與指導詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04
詳解Java中的增強 for 循環(huán) foreach
foreach 是 Java 中的一種語法糖,幾乎每一種語言都有一些這樣的語法糖來方便程序員進行開發(fā),編譯期間以特定的字節(jié)碼或特定的方式來對這些語法進行處理。能夠提高性能,并減少代碼出錯的幾率。2017-05-05

