현재 검색을 많이 해왔지만 아직 답변을 찾을 수 없다는 문제가 있습니다.등록 정보 파일에서 스키마 이름 가져 오기
Backgorund 문제 : 스키마의 테스트 복사본 (예 : schema1, schema2, schema1_test, schema2_test가 모두 같은 URL에 있음)을 포함하여 하나의 URL에 여러 개의 DB 스키마가 있습니다. 각 스키마의 버전을 속성 파일을 통해 구성 가능한 것으로 사용하려고합니다.
(그래서이 문제를 설명 할 나의 무지 나 실수를 용서하십시오!) 내 스프링 설정 파일에 따라서
, 인 우리는 봄과 MyBatis로를 사용하고 불행하게도 나는 모두에 새로운 해요 /의 SRC/메인/자원에 저장, 나는 다음과 같은 조각이있다 : (난 단지 "configLocation"설정을 추가하고 나중에 "sqlSessionFactoryBeanName"속성 추가) 아래에 저장됩니다
<!-- define the SqlSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="typeAliasesPackage" value="com.example.domain" />
<property name="configLocation" value="classpath:mybatisConfig.xml" />
</bean>
<!-- scan for mappers and let them be autowired -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.example.something.persistence" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
</bean>
내 mybatisConfig.xml을 (/ src/m 같은 폴더에 클래스 경로에 있어야 아인/자원)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<properties resource="sqlmapconfig.properties" />
</configuration>
sqlmapconfig.properties()
schema1=schema1_test
내가 매퍼 파일 중 하나에 참조에게 재산을 시도 com.example.something.persistence에서 :
maven으로 빌드를 시도하면 실패합니다. st :
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'schema1' in 'class java.lang.Long'
의견을 보내 주시면 대단히 감사하겠습니다. 내가 직접 속성을 읽으려고에 포기하고 자바 경로
에서 건네 내려 갔다
"/ src/main/resources에 저장되며 클래스 경로에 있어야합니다."<==이 경우를 확인할 수 있습니까? 클래스 경로에 "/ src/main/resources"폴더가 있습니까? 아니면 어딘가에 복사하여 빌드 할 수 있습니까? –
네, classpath에 있습니다. 그것은 tomcat 서버에 배치 될 webapp입니다. [편집 - 실수로 제출] 클래스 경로 부분을 빼내어 상대 URL 링크 (동일한 폴더에 있음)로 남겨 두어도 변경되지 않습니다. 문제가있는 곳을 좁히려면 {$ schema1}을 (를) 읽을 수있는 중간 단계가 있습니까? – witnessmenow
config에 대한 등록 정보 파일을 지정했지만 매퍼 파일의 등록 정보 참조를 사용하고 있습니다. 내가 아는 한, 속성은 mappers 파일로 넘겨지지 않습니다. 어떤 데이터베이스를 사용하고 있습니까? JDBC URL에 스키마를 지정할 수 있습니까? –