JDBCTemplate 및 메모리 내장 데이터베이스를 사용하는 단위 테스트가 있습니다. 내 HSQLDB 설정은 다음과 같습니다 : 나는 테이블을 만든 다음 모든 데이터가에 새 레코드를 삽입하기 전에 JdbcTemplate을 통해 존재하는지 확인하려고HSQLDB 메모리 내 데이터베이스 JDBC 템플릿 쿼리 실패
jdbc.driver.className=org.hsqldb.jdbcDriver
jdbc.url=jdbc\:hsqldb\:mem\:test;DB_CLOSE_DELAY\=-1
jdbc.username=sa
jdbc.password=
.
나는 다음과 같이 JdbcTemplate을 통해 JDBC 쿼리를 호출하고 있습니다 :
내 설정 XML의String query = "select id from Person where id=?";
int isExist = jdbcTemplate.update(query, "1");
, 나는 다음과 같이 DataSource에 유선 :
을 :<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" lazy-init="default" autowire="default">
<property name="driverClassName" value="${jdbc.driver.className}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/>
</bean>
를 I라는 오류를 얻고있다
org.hsqldb.HsqlException : statement does not generate a row count
메모리 데이터베이스에서 제거하고 실제로 Oracl에 연결하면 동일한 코드가 작동합니다 전자 데이터베이스지만 메모리 데이터베이스에 필요한 테스트.
도와 주시겠습니까?
감사
아마도 코드를 게시하면 도움이 될 수 있습니다. – remigio
왜'jdbcTemplate.update()'메서드를 사용합니까? 나는 당신이'query','execute' 또는 유사한 것을 사용해야한다고 생각합니다. 예를 들어'queryForInt' 메소드입니다. – sabadow