質問編集履歴

1 試行錯誤して見えたこと

Attsu

Attsu score 16

2019/01/28 01:04  投稿

mybatisを使用してDBにアクセスしたいが404エラー
mybatisを使用してDBにアクセスしたいのですが404エラーが発生してしまいページを読み込めません。
以下設定ファイルです。
理解できないのがdataSource、sqlSessionFactoryのみを有効にしていると500エラー(マッパーインターフェースが
インジェクションできていないので想定通り)になり、マッパーインターフェースをbean定義(下ではコメントアウトしている)を有効にすると404エラーになるということです。
ちなみにマッパーインターフェースの位置はsrc/main/java/port/ReserveMapper.javaに配置しており正しいと思っています。(指定の仕方が間違っている?)
マッピングファイルはsrc/main/resouce/port/ReserveMapper.xmlに配置しています。
404が表示されるのみでエラーログにはかれないのでここ数日とても苦戦しています。
どうかお力添えを戴けないでしょうか。
よろしくお願いいたします。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 (スキーマ省略)
   
   <!--<bean id="reserveMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
     <property name="mapperInterface" value="port.ReserveMapper" /> 
     <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
   </bean>-->
   
   <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
         <property name="dataSource" ref="dataSource" />
     </bean>
   
   <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
           <property name="driverClassName" value="com.mysql.jdbc.Driver" />
           <property name="url" value="jdbc:mysql://localhost/hotelresvdb" />
           <property name="username" value="hoge" />
           <property name="password" value="hoge" />
     </bean>
</beans>
</beans>
追記
試行錯誤してreserveMapperのbean定義をごっそり消して
<mybatis:scan base-package="port" />
と定義したところ404エラーで試しにbase-package="dummy"としたところ500エラー(マッパーインターフェースが
定義できていないのでヌルポ)になりました。つまり404エラーではあってもbean定義のインジェクション自体は
できていてその後のページのロードで何らかの不具合が起こっていると考えます。このような場合考えられる原因は何かありますでしょうか。
  • Spring

    1437 questions

    Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

  • MyBatis

    128 questions

    MyBatisはJavaや.NET Frameworkでなどで使用できる、SQL文や、ストアドプロシージャをオブジェクトと紐付けるO/Rマッピングフレームワークです。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る