2016-10-01 3 views
2

를 임베디드 얻으이 같은 스프링 프레임 워크의 H2 인 - 메모리 데이터베이스를 만들었습니다.봄이 데이터베이스 내용

는이 코드로 데이터베이스에 연결할 수 있습니다

Connection connecton = DriverManager.getConnection("jdbc:h2:mem:testdb","sa",""); 

그러나 이것은 테이블과 기록하지 않고, 나에게 빈 데이터베이스를 반환합니다.

Here is a description이 문제를 해결하는 방법을 알려줍니다.

불행하게도 나는, 어떻게 작동하는지, 사용하는 코드 위치를 모르기 때문에, Spring 컨테이너MethodInvokingBean으로 작업을 수행하는 방법을 이해할 수없는 등

나는 사람이 만드는 것이 감사하겠습니다 짧은 자습서.

감사합니다.

+0

이 먼저 응용 프로그램을 테스트나요 사용 : 다음과 같은 구성을 추가? – nurgasemetey

+0

예 나는 잘했고 잘 작동합니다. 나는 문제없이 기록을 얻을 수있다. – Pwi

+0

두 번째 응용 프로그램이 첫 번째 응용 프로그램과 비슷한 DDL 스크립트를 실행합니까? 나는 테이블 만들기/변경을 의미했습니다. 그렇다면 첫 번째 애플리케이션에 의해 지속 된 데이터를 지울 것입니다. 데이터 읽기 전용으로 두 번째 응용 프로그램을 사용하는 경우 읽기 전용 모드를 사용할 수 있습니다. – harshavmb

답변

1

데이터베이스를 공유하기 위해 TCP 서버를 시작할 수 있습니다.

<bean id="h2Server" class="org.h2.tools.Server" factory-method="createTcpServer" init-method="start" destroy-method="stop"> 
    <constructor-arg value="-tcp,-tcpAllowOthers,-tcpPort,9092"/> 
</bean> 

서버가 시작되면, 다른 Java 응용 프로그램에 연결할 수 jdbc:h2:tcp://localhost:9092/mem:testdb

+0

이 XML 코드를 어디로 가져갈 지 말해 줄 수 있습니까? 어떻게이 bean XML을 만들 수 있습니까? – Pwi

+0

스프링 부트 애플리케이션의 경우, @ImportResource (value = "classpath : /package/filename.xml")'을 사용하여 XML 설정을 추가 할 수있다. [여기에 예제가있다] (http://javarticles.com/2016/02/spring-importresource-annotation-example.html) –