MavenのプロジェクトIDEA、デフォルトのソースディレクトリ(src/main/java
xmlファイルおよびその他のリソースのディレクトリ)は、コンパイル時にフォルダクラスにパッケージ化されますが、直接破棄されることはありません。あなたは、出力フォルダに詰めクラスにコンパイル時に自動的にリソースファイルの下のEclipse、XMLおよび他のEclipse-srcディレクトリを使用している場合。
例:
MyBatisののIDEAで使用する場合、ファイルがこのドキュメントで見つからないターゲットディレクトリにコンパイルsrc / main / javaディレクトリにある場合、それは一般的に、SQLマッピング設定ファイルを作成します
IDEAのこの問題については、以下のソリューション:
最初の方法:特別なビジネス、リソースファイルを指定する必要はありませんが、SRC /メイン/ javaのに移動しない場合は、SRCの下でメイン/ resourcesディレクトリを作成し、XMLリソースファイルを必要に配置することができます。コンパイル時にツールMavenのデフォルトでは、リソースファイルフォルダのリソースは、classesディレクトリの一部にパッケージ化されます。
MyBatisのこの使用のために、我々は、例えば、springbootプロジェクトのapplication.propertiesの増加を設定ファイルの場所mapper.xmlファイルを指定する必要があります。
mybatis.mapper-locations=classpath:mapper/*.xml
通常のSSMプロジェクトの場合、この設定:
<bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="druidDataSource"/> <property name="configLocation" value="classpath:mybatis-config.xml"/> <!-- 配置mapper文件的位置 --> <property name="mapperLocations" value="classpath:mapper/*.xml"/> </bean>
第二の方法:MavenのPOMを設定するための設定ファイルは、<ビルド>ポンポンノードファイルを見つけ、次のコードを追加します。
<build>
<resources>
<!-- mapper.xml文件在java目录下 -->
<resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> <!-- mapper.xml文件在resources目录下--> <--<resource> <directory>src/main/resources</directory> </resource>--> </resources> </build>