私は検索をたくさん行っていますが、答えはまだ見つかりませんでした。プロパティファイルからスキーマ名を取得
問題のバックログ:スキーマのテストコピー(たとえば、schema1、schema2、schema1_test、schema2_testはすべて同じURLにあります)を含む1つのURLに複数のDBスキーマがあります。私は、各スキーマのどのバージョンがプロパティファイルを介して構成可能に使用されるようにしようとしています。
(私は問題を説明します自分の無知や間違いをお許しください!)私の春の設定ファイルでそう
、である私たちは、春とMyBatisのを使用していて、残念ながら、私は両方に新たなんです下に格納され (私は唯一の「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 /メイン/リソース/の下に保存され、私は、次のスニペットを持っています/ src/mクラスパス上にある必要がありますAIN /リソース、)同じフォルダに
<?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
そして私はマッパーファイルのいずれかでプロパティを参照してみてくださいin 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'
ご迷惑をおかけして申し訳ございません。私は直接のプロパティを読み取ろうとする上であきらめたとJavaのルート
からで、それを渡してダウンした
"/ src/main/resourcesの下に保存されていますが、これはクラスパス上にある必要があります。" <==これが正しいと確認できますか?クラスパスに "/ src/main/resources"というフォルダがありますか、それともどこかにコピーしていますか? –
ええ、クラスパスにあります。それはtomcatサーバに展開されるwebappです。 [編集 - 間違って投稿] クラスパス部分を取り出して相対URLリンクとして残しても(同じフォルダにあります)、何も変更されません。 {$ schema1}を読んで問題のある箇所を絞り込むことができる中間段階はありますか? – witnessmenow
configのプロパティファイルを指定していますが、マッパーファイルのプロパティ参照を使用しています。私が知る限り、プロパティはmappersファイルに引き継がれません。 どのデータベースを使用していますか? JDBC URLにスキーマを指定できますか? –