MyBatis-pring統合例


今日の会社の新プロジェクトはMyBatisとSpring 3を採用して、インターネットで検索してみたら、MyBatisがSpring 3容器をサポートするjarカバンを提供していることが分かりました。そこで、取り外して使います。
web.xml

<servlet>
    <servlet-name>Dispatcher</servlet-name>
    <servlet-class>
        org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath:spring_config/applicationContext-mvc.xml
        </param-value>
    </init-param>
</servlet>
<servlet-mapping>
    <servlet-name>Dispatcher</servlet-name>
    <url-pattern>*.do</url-pattern>
</servlet-mapping>
Spring配置

<!-- 
      SqlSessionFactoryBean    SqlSessionFactory  ,
           Dao 
-->
<bean id="sqlSessionFactory"  
      class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="configLocation" 
              value="classpath:mybatis_config/Configuration.xml">
    </property>
</bean>

<!--     basePackage             @Mapper   Dao        ,       Dao  。-->
<bean       
     class="org.mybatis.spring.annotation.MapperScannerPostProcessor">
    <property name="sqlSessionFactoryBeanName" 
              value="sqlSessionFactory" />
    <property name="basePackage" value="com.demo.dao" />
</bean>

<bean name="transactionManager" 
      class="org.springframework.jdbc.
             datasource.DataSourceTransactionManager">   
    <property name="dataSource" ref="dataSource"></property>
</bean>

<!--Spring AOP 2.0        ,          !-->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
    <tx:attributes>
        <tx:method name="delete*" 
                   propagation="REQUIRED" read-only="false" 
	          rollback-for="java.lang.Exception" 
                   no-rollback-for="java.lang.RuntimeException"/>
        <tx:method name="find*" 
                   propagation="SUPPORTS"/>
    </tx:attributes>
</tx:advice>
	
<aop:config>
    <aop:pointcut id="pc" 
         expression="execution(* *.*.*(..))" />
    <aop:advisor pointcut-ref="pc" advice-ref="txAdvice" />
</aop:config>
最後に私のDaoのインターフェースの書き方を見てください。

/**
 *    @Mapper       Mapper          ,         。
 *   ,             MyBatis         id   ,     
 *     ,          Sql    。                 
 *  。          ,   MyBatis              。
 *   ,    userDao     Spring Bean id( name)     ,    
 *   Service       。
*/
@Mapper("userDao")
public interface UserDao {
    public void insertUser(User user);
    public void updateUser(User user);
    public void deleteUser(Long uid);
    /**
     *       
     */
    public List<User> getAllUser(Map<String,Object> likeCondition);
    public User getUser(Long uid);
}
これでMyBatis-pringパッケージの基本構成が終了しました。
何か言いにくいところがありましたら、もっと多くの情報が必要でしたら、メッセージをお願いします。ありがとうございます。
更新:関連プロジェクトの添付ファイルをアップロードし、使用方法を具体的に示します。。。。。。
12年1月30日にDEMOの例をアップロードします。添付ファイルのbigdt.rar
一級関連jarカバン、付属品のother.zipとspring_iBATIS.zip