순수 JDBC 강의 질문 있습니다.
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 데이터베이스(H2) 연동을 하고 데이터를 추가해 보았는데(thymeleaf view template에서 데이터 넣고 엔터) 다음과 같은 에러가 나옵니다. org.h2.mvstore.MVStoreException: The file is locked: C:/Users/user/ test.mv .db [2.2.224/7] at org.h2.mvstore.DataUtils.newMVStoreException( DataUtils.java:996 ) ~[h2-2.2.224.jar:2.2.224] at org.h2.mvstore.SingleFileStore.lockFileChannel( SingleFileStore.java:143 ) ~[h2-2.2.224.jar:2.2.224] at org.h2.mvstore.SingleFileStore.open ( SingleFileStore.java:117 ) ~[h2-2.2.224.jar:2.2.224] at org.h2.mvstore.SingleFileStore.open ( SingleFileStore.java:81 ) ~[h2-2.2.224.jar:2.2.224] at org.h2.mvstore.MVStore.<init>( MVStore.java:286 ) ~[h2-2.2.224.jar:2.2.224] at org.h2.mvstore.MVStore$ Builder.open ( MVStore.java:2035 ) ~[h2-2.2.224.jar:2.2.224] at org.h2.mvstore.db.Store .<init>( Store.java:133 ) ~[h2-2.2.224.jar:2.2.224] at org.h2.engine.Database.<init>( Database.java:326 ) ~[h2-2.2.224.jar:2.2.224] at org.h2.engine.Engine.openSession( Engine.java:92 ) ~[h2-2.2.224.jar:2.2.224] at org.h2.engine.Engine.openSession( Engine.java:222 ) ~[h2-2.2.224.jar:2.2.224] at org.h2.engine.Engine.createSession( Engine.java:201 ) ~[h2-2.2.224.jar:2.2.224] at org.h2.engine.SessionRemote.connectEmbeddedOrServer( SessionRemote.java:343 ) ~[h2-2.2.224.jar:2.2.224] at org.h2.jdbc.JdbcConnection.<init>( JdbcConnection.java:125 ) ~[h2-2.2.224.jar:2.2.224] at org.h2.Driver.connect( Driver.java:59 ) ~[h2-2.2.224.jar:2.2.224] at com.zaxxer.hikari.util.DriverDataSource.getConnection( DriverDataSource.java:120 ) ~[HikariCP-5.1.0.jar:na] at com.zaxxer.hikari.pool.PoolBase.newConnection( PoolBase.java:360 ) ~[HikariCP-5.1.0.jar:na] at com.zaxxer.hikari.pool.PoolBase.newPoolEntry( PoolBase.java:202 ) ~[HikariCP-5.1.0.jar:na] at com.zaxxer.hikari.pool.HikariPool.createPoolEntry( HikariPool.java:461 ) ~[HikariCP-5.1.0.jar:na] at com.zaxxer.hikari.pool.HikariPool.checkFailFast( HikariPool.java:550 ) ~[HikariCP-5.1.0.jar:na] at com.zaxxer.hikari.pool.HikariPool.<init>( HikariPool.java:98 ) ~[HikariCP-5.1.0.jar:na] at com.zaxxer.hikari.HikariDataSource.getConnection( HikariDataSource.java:111 ) ~[HikariCP-5.1.0.jar:na] at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection( DataSourceUtils.java:160 ) ~[spring-jdbc-6.1.11.jar:6.1.11] at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection( DataSourceUtils.java:118 ) ~[spring-jdbc-6.1.11.jar:6.1.11] at org.springframework.jdbc.datasource.DataSourceUtils.getConnection( DataSourceUtils.java:81 ) ~[spring-jdbc-6.1.11.jar:6.1.11] at com.drycow.freeform.freeform_creator.repository.JdbcTodoRepository.getConnection( JdbcTodoRepository.java:138 ) ~[classes/:na] at com.drycow.freeform.freeform_creator.repository.JdbcTodoRepository.findByName( JdbcTodoRepository.java:116 ) ~[classes/:na] at com.drycow.freeform.freeform_creator.service.TodoService.validateDuplicateTodo( TodoService.java:32 ) ~[classes/:na] at com.drycow.freeform.freeform_creator.service.TodoService.create( TodoService.java:25 ) ~[classes/:na] at com.drycow.freeform.freeform_creator.controller.TodoController.create( TodoController.java:37 ) ~[classes/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke( DirectMethodHandleAccessor.java:103 ) ~[na:na] at java.base/java.lang.reflect.Method.invoke( Method.java:580 ) ~[na:na] at org.springframework.web.method.support .InvocableHandlerMethod.doInvoke( InvocableHandlerMethod.java:255 ) ~[spring-web-6.1.11.jar:6.1.11] at org.springframework.web.method.support .InvocableHandlerMethod.invokeForRequest( InvocableHandlerMethod.java:188 ) ~[spring-web-6.1.11.jar:6.1.11] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle( ServletInvocableHandlerMethod.java:118 ) ~[spring-webmvc-6.1.11.jar:6.1.11] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod( RequestMappingHandlerAdapter.java:926 ) ~[spring-webmvc-6.1.11.jar:6.1.11] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal( RequestMappingHandlerAdapter.java:831 ) ~[spring-webmvc-6.1.11.jar:6.1.11] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle( AbstractHandlerMethodAdapter.java:87 ) ~[spring-webmvc-6.1.11.jar:6.1.11] at org.springframework.web.servlet.DispatcherServlet.doDispatch( DispatcherServlet.java:1089 ) ~[spring-webmvc-6.1.11.jar:6.1.11] at org.springframework.web.servlet.DispatcherServlet.doService( DispatcherServlet.java:979 ) ~[spring-webmvc-6.1.11.jar:6.1.11] at org.springframework.web.servlet.FrameworkServlet.processRequest( FrameworkServlet.java:1014 ) ~[spring-webmvc-6.1.11.jar:6.1.11] at org.springframework.web.servlet.FrameworkServlet.doPost( FrameworkServlet.java:914 ) ~[spring-webmvc-6.1.11.jar:6.1.11] at jakarta.servlet.http.HttpServlet.service( HttpServlet.java:590 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.springframework.web.servlet.FrameworkServlet.service( FrameworkServlet.java:885 ) ~[spring-webmvc-6.1.11.jar:6.1.11] at jakarta.servlet.http.HttpServlet.service( HttpServlet.java:658 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:195 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:140 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.tomcat.websocket.server.WsFilter.doFilter( WsFilter.java:51 ) ~[tomcat-embed-websocket-10.1.26.jar:10.1.26] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:164 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:140 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.springframework.web.filter.RequestContextFilter.doFilterInternal( RequestContextFilter.java:100 ) ~[spring-web-6.1.11.jar:6.1.11] at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:116 ) ~[spring-web-6.1.11.jar:6.1.11] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:164 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:140 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.springframework.web.filter.FormContentFilter.doFilterInternal( FormContentFilter.java:93 ) ~[spring-web-6.1.11.jar:6.1.11] at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:116 ) ~[spring-web-6.1.11.jar:6.1.11] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:164 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:140 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal( CharacterEncodingFilter.java:201 ) ~[spring-web-6.1.11.jar:6.1.11] at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:116 ) ~[spring-web-6.1.11.jar:6.1.11] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:164 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:140 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.core.StandardWrapperValve.invoke( StandardWrapperValve.java:167 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.core.StandardContextValve.invoke( StandardContextValve.java:90 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.authenticator.AuthenticatorBase.invoke( AuthenticatorBase.java:483 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:115 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.valves.ErrorReportValve.invoke( ErrorReportValve.java:93 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.core.StandardEngineValve.invoke( StandardEngineValve.java:74 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.connector.CoyoteAdapter.service( CoyoteAdapter.java:344 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.coyote.http11.Http11Processor.service( Http11Processor.java:389 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.coyote.AbstractProcessorLight.process( AbstractProcessorLight.java:63 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process( AbstractProtocol.java:904 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.tomcat.util.net .NioEndpoint$SocketProcessor.doRun( NioEndpoint.java:1741 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.tomcat.util.net.SocketProcessorBase.run ( SocketProcessorBase.java:52 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1190 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.tomcat.util.threads.ThreadPoolExecutor$ Worker.run ( ThreadPoolExecutor.java:659 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.tomcat.util.threads.TaskThread$ WrappingRunnable.run ( TaskThread.java:63 ) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at java.base/ java.lang.Thread.run ( Thread.java:1570 ) ~[na:na] **위 에러를 해결해보자 jdbc URL을 jdbc:h2:tcp:// localhost ~/test 로 변경해주면 다음과 같은 에러가 나옵니다. Connection is broken: " java.net .UnknownHostException: 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요.
- java
- spring
- mvc
- spring-boot





