spring 和 mybatis 的整合过程

6 篇文章 0 订阅
4 篇文章 0 订阅

1.这两个配置项不再需要


(1)<aop:aspectj-autoproxy/>

参考文章:
http://chenjumin.iteye.com/blog/456351

(2)<context:annotation-config/>

参考文章:
http://blog.sina.com.cn/s/blog_872758480100wtfh.html
当使用 <context:component-scan/> 后,就可以将 <context:annotation-config/> 移除了



2.配置datasource


<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"  destroy-method="close">
    <!-- 初始化连接数量; -->
    <property name="initialSize" value="0" />
    <!-- 最大并发连接数     -->
    <property name="maxActive" value="20" />

    <!-- 最大空闲连接数 -->
    <property name="maxIdle" value="20" />
    <!-- 最小空闲连接数 -->
    <property name="minIdle" value="0" />
    <!-- 最大等待时长 -->
    <property name="maxWait" value="60000" />
    <!-- 超过时间限制是否回收 -->
    <property name="removeAbandoned" value="true" />
    <!-- 超过时间限制多长; -->
    <property name="removeAbandonedTimeout" value="180"/>          
    <!-- 数据源连接参数配置; -->
    <property name="username" value="${db.username}"/>
    <property name="url" value="${db.url}"/>
    <property name="password" value="${db.password}"/>
    <property name="driverClassName" value="${db.driver}"/>
</bean>     


3.配置sessionfactory,并且指明mapper映射文件所在的包名。

 
   id是固定的

    <!-- 配置SessionFactory -->
     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
      <property name="dataSource" ref="dataSource"/>    
<!-- <property name="mapperLocations" value="classpath:mapper/*.xml" /> -->
    <property name="mapperLocations">
        <list>            
            <value>classpath:mapper/*.xml</value>
        </list>
    </property>
</bean>       


4.指明mapper接口所在的包名


<!-- 自动扫描mapper接口,注入sqlSessionFactory -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="mapper"/>
</bean>



5.配置事务管理器,注意:注入的是datasource属性


 <!-- 配置事务管理器 -->
  <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
      <property name="dataSource" ref="dataSource"/>
  </bean>

<!-- <tx:annotation-driven transaction-manager="transactionManager"  proxy-target-class="true"/> -->
  <!-- 定义切面 -->
<aop:config>
    <aop:pointcut expression="execution(* dao.*.* (..))" id="txPointCut"/>
    <aop:advisor advice-ref="txAdvice" pointcut-ref="txPointCut"/>
</aop:config>
 
<!-- 声明式事务 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">            
    <tx:attributes>
         <tx:method name="isValid" propagation="REQUIRED" read-only="true"/>
         <tx:method name="add" propagation="REQUIRED" read-only="true"/>
    </tx:attributes>        
</tx:advice>   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值