我们首先来看具体的报错:
java.lang.NoSuchMethodException org.springframework.data.domain.PageRequest.init()
at java.lang.Class.getConstructor0(Class.java3082)
at java.lang.Class.getDeclaredConstructor(Class.java2178)
at org.springframework.web.method.annotation.ModelAttributeMethodProcessor.createAttribute(ModelAttributeMethodProcessor.java216)
at org.springframework.web.servlet.mvc.method.annotation.ServletModelAttributeMethodProcessor.createAttribute(ServletModelAttributeMethodProcessor.java85)
at org.springframework.web.method.annotation.ModelAttributeMethodProcessor.resolveArgument(ModelAttributeMethodProcessor.java139)
at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java121)
at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java167)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java134)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java105)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java879)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java793)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java1040)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java943)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java1006)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java898)
at javax.servlet.http.HttpServlet.service(HttpServlet.java634)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java166)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java166)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java541)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java373)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java1594)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java61)
at java.lang.Thread.run(Thread.java750)
翻译成大白话就是:org.springframework.data.domain.PageRequest,他初始化失败。那么问题就是org.springframework.data.domain.PageRequest是什么,在哪里?
我截取的是easycode插件自动生成的controller层代码
/** * 分页查询 * * @param tbAction 筛选条件 * @param pageRequest 分页对象 * @return 查询结果 */ @GetMapping public ResponseEntity<Page<TbAction>> queryByPage(TbAction tbAction, PageRequest pageRequest) { return ResponseEntity.ok(this.tbActionService.queryByPage(tbAction, pageRequest)); }
可以看到在queryByPage方法中要求我们传入两个参数 ,一个是实体类,一个就是PageRequest。
由于我们没有进行PageRequest相关的配置,自然就会报错。
鉴于easycode的分页查询有点复杂,我的业务中目前不需要这个,后面需要了再来弄,如果你的业务需要,请移步其他博主。
如果只是想测试数据库连接,我们可以用其他方法,不用这个分页查询
比如上面的就是根据id查数据,并非分页查询
自然是能够查询成功的