1. 程式人生 > >spring整合mybatis(入門級簡單教程4)--掃描mapper類

spring整合mybatis(入門級簡單教程4)--掃描mapper類

引子:這裡,mapper類是指定義了資料庫操作方法的介面。如前面我們講到的UserMapper、ManagerMapper。為了讓spring容器知道它們的存在和作用,在前面我們在applicationContext.xml檔案中採用很麻煩的方式配置了它們。現在,讓我們來改進這點。

1、下面是我們前面的配置方式:
        <bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
注意:這個是value,不是class
<property name="mapperInterface" value="com.dao.UserMapper" />
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>


<bean id="managerMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="com.dao.ManagerMapper" />
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>
試想一下,如果我們有100個mapper,特別是大型專案,那我們豈不是要配置100個上面的bean?繁重的程式碼量可想而知。

2、我們先來看看怎麼解決!

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

<!--com.dao是mapper類所在的包-->

 <property name="basePackage" value="com.dao"/>

<!--下面這個省略掉的話也不會出錯,建議保留它-->

  <property name="sqlSessionFactory" ref="sqlSessionFactory"/>
</bean>

1中的配置方式就可以刪掉了。這樣的話,我們可以在com.dao包下面新增mapper類,而我們在applicationContext中的配置不會隨之變化,很方便,是不是?