2012/05/18

My BatisのMapperクラスをSpringでDIする。

ハマったこと。

MyBatis Generatorで生成したMapperクラスを、SpringでDIしようとしたんですが、MyBatis Generatorで生成されるMapperクラスはインターフェースの為、実装クラスが見つからずにDIが出来ませんでした。

解決法

application-context.xmlに"sqlSessionFactory"と、各MapperクラスのBean定義を追加することで無事DIすることが出来ました。
いろいろと悩んだけど、実際わかってみるとすごくシンプルな事でした。


<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
</bean>

<bean id="exampleMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="com.example.mapper.ExampleMapper" />
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>

参考


会社の先輩に下記のサイトを教えてもらいました。
http://www.h3.dion.ne.jp/~alpha-pz/misc2743.html


0 件のコメント:

コメントを投稿