需要帮助啊

今天不知道弄了什么,然后我的mybatis 一直报错

Caused by: java.lang.IllegalArgumentException: Parameter Maps collection does not contain value for java.lang.Integer

at org.apache.ibatis.session.Configuration$StrictMap.get(Configuration.java:672) ~[mybatis-3.1.1.jar:3.1.1]
at org.apache.ibatis.session.Configuration.getParameterMap(Configuration.java:454) ~[mybatis-3.1.1.jar:3.1.1]
at org.apache.ibatis.builder.MapperBuilderAssistant.setStatementParameterMap(MapperBuilderAssistant.java:325) ~[mybatis-3.1.1.jar:3.1.1]

... 56 common frames omitted

以前没这个错误,这个好像是识别不了了 我写的java。lang。integer 类型 就是 parameterType (这里写的是parameterType 不是map) 

我改了下 jdk的版本 都是1.8 然后还是这个错误

上面的错误代码是这个

org.apache.ibatis.builder.IncompleteElementException: Could not find parameter map java.lang.Integer
at org.apache.ibatis.builder.MapperBuilderAssistant.setStatementParameterMap(MapperBuilderAssistant.java:327) ~[mybatis-3.1.1.jar:3.1.1]
at org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:291) ~[mybatis-3.1.1.jar:3.1.1]
at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:113) ~[mybatis-3.1.1.jar:3.1.1]
at org.apache.ibatis.session.Configuration.buildAllStatements(Configuration.java:579) ~[mybatis-3.1.1.jar:3.1.1]
at org.apache.ibatis.session.Configuration.getMappedStatement(Configuration.java:505) ~[mybatis-3.1.1.jar:3.1.1]
at org.apache.ibatis.session.Configuration.getMappedStatement(Configuration.java:500) ~[mybatis-3.1.1.jar:3.1.1]
at org.apache.ibatis.binding.MapperMethod.setupCommandType(MapperMethod.java:240) ~[mybatis-3.1.1.jar:3.1.1]
at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:71) ~[mybatis-3.1.1.jar:3.1.1]
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:39) ~[mybatis-3.1.1.jar:3.1.1]
at com.sun.proxy.$Proxy27.findDictionaryByParentId(Unknown Source) ~[na:na]
at service.impl.DictionaryServiceImpl.findDictionaryByParentId(DictionaryServiceImpl.java:59) ~[classes/:na]
at controller.DictionaryController.findAll(DictionaryController.java:26) ~[classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_74]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_74]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_74]
at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.8.0_74]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) ~[spring-web-4.1.4.RELEASE.jar:4.1.4.RELEASE]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137) ~[spring-web-4.1.4.RELEASE.jar:4.1.4.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) ~[spring-webmvc-4.1.4.RELEASE.jar:4.1.4.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:777) ~[spring-webmvc-4.1.4.RELEASE.jar:4.1.4.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:706) ~[spring-webmvc-4.1.4.RELEASE.jar:4.1.4.RELEASE]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) ~[spring-webmvc-4.1.4.RELEASE.jar:4.1.4.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943) [spring-webmvc-4.1.4.RELEASE.jar:4.1.4.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877) [spring-webmvc-4.1.4.RELEASE.jar:4.1.4.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966) [spring-webmvc-4.1.4.RELEASE.jar:4.1.4.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857) [spring-webmvc-4.1.4.RELEASE.jar:4.1.4.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) [servlet-api.jar:na]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842) [spring-webmvc-4.1.4.RELEASE.jar:4.1.4.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) [servlet-api.jar:na]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) [catalina.jar:8.0.32]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) [catalina.jar:8.0.32]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-websocket.jar:8.0.32]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) [catalina.jar:8.0.32]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) [catalina.jar:8.0.32]
at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:123) [druid-1.0.11.jar:1.0.11]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) [catalina.jar:8.0.32]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) [catalina.jar:8.0.32]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) [spring-web-4.1.4.RELEASE.jar:4.1.4.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.1.4.RELEASE.jar:4.1.4.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) [catalina.jar:8.0.32]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) [catalina.jar:8.0.32]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) [catalina.jar:8.0.32]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) [catalina.jar:8.0.32]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) [catalina.jar:8.0.32]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) [catalina.jar:8.0.32]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [catalina.jar:8.0.32]
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) [catalina.jar:8.0.32]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) [catalina.jar:8.0.32]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522) [catalina.jar:8.0.32]
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095) [tomcat-coyote.jar:8.0.32]
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) [tomcat-coyote.jar:8.0.32]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) [tomcat-coyote.jar:8.0.32]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) [tomcat-coyote.jar:8.0.32]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_74]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.8.0_74]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.0.32]
at java.lang.Thread.run(Unknown Source) [na:1.8.0_74]


可是我没有用map啊 咋会报这个 

求大神帮助

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一个经典的线程同步问题,可以使用信号量来实现。 首先,我们需要定义三个信号量: - `mutex`:用于保护共享资源 TA 的状态(是否正在工作)。 - `students`:用于表示走廊上等待的学生数量。 - `chairs`:用于表示走廊上空余的座位数量。 然后,我们需要创建两个线程函数:`student` 和 `TA`。 在 `student` 函数中,每个学生会循环执行以下操作: 1. 如果走廊上有空余座位,就坐下来等待 TA 的帮助;否则离开办公室。 2. 当 TA 可用时,学生会请求 TA 的帮助。 3. 如果 TA 正在睡觉,学生会唤醒 TA。 4. 等待 TA 完成帮助。 5. 离开办公室。 在 `TA` 函数中,TA 会循环执行以下操作: 1. 如果走廊上没有学生需要帮助,就进入睡眠状态。 2. 当有学生需要帮助时,TA 会唤醒学生并进行帮助。 3. 检查走廊上是否还有学生需要帮助。 下面是一个简单的示例代码,仅供参考: ```python import threading import time mutex = threading.Semaphore(1) students = threading.Semaphore(0) chairs = threading.Semaphore(3) def student(): global chairs while True: with chairs: print(f"Student {threading.get_ident()} is waiting.") with mutex: if not ta_working: ta_working = True print(f"Student {threading.get_ident()} wakes up TA.") ta_help() ta_working = False break students.release() print(f"Student {threading.get_ident()} is waiting outside.") time.sleep(1) def ta_help(): global students while True: students.acquire() print(f"TA is helping student {threading.get_ident()}.") time.sleep(5) print(f"TA finishes helping student {threading.get_ident()}.") if not students._value: print("TA goes to sleep.") break if __name__ == "__main__": ta_working = False for i in range(5): threading.Thread(target=student).start() threading.Thread(target=ta_help).start() ``` 注意,上述代码存在一些问题,例如: - 学生和 TA 的 ID 可能会冲突。 - 学生和 TA 的工作状态需要进行同步。 - 等待学生的 `students` 信号量可能会被多次释放。 这些问题需要进一步处理和改进。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值