ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ashok Madhavan" <ashok.madha...@gmail.com>
Subject Re: Spring & iBatis question
Date Thu, 17 May 2007 16:00:16 GMT
Hi Sergey,

If you are using Spring + iBatis, you can go with Declarative transaction
supprt provided by spring. Then u dont need to do any of the
startTransaction() or endTransaction().

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

  <!--  Transaction Attributes for the Method Signatures -->
  <bean id="txAttributes" class="
org.springframework.transaction.interceptor.NameMatchTransactionAttributeSource
">
      <property name="properties">
        <value>add*=PROPAGATION_REQUIRED
               insert*=PROPAGATION_REQUIRED
                update*=PROPAGATION_REQUIRED
             delete*=PROPAGATION_REQUIRED
             move*=PROPAGATION_REQUIRED
        </value>
      </property>
  </bean>
  <!-- Transaction Incerceptor -->
  <bean id="matchAllTxInterceptor"
      class="
org.springframework.transaction.interceptor.TransactionInterceptor">
    <property name="transactionManager" ref="txManager"/>
    <property name="transactionAttributeSource" ref="txAttributes"/>
  </bean>

  <!-- BeanNameAutoProxyCreator handles all beans where we want all methods
to use PROPAGATION_REQUIRED -->
  <bean id="autoProxyCreator"
      class="
org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
    <property name="interceptorNames">
      <list>
        <idref local="matchAllTxInterceptor"/>
      </list>
    </property>
    <property name="beanNames">
      <list>
        <idref local="your_dao_here"/>
      </list>
    </property>
  </bean>


  <bean id="your_dao_here" class="dao_class_here">
    <property name="dataSource"><ref local="dataSource"/></property>
    <property name="sqlMapClient"><ref local="sqlMapClient"/></property>
  </bean>

regards
Ashok

On 5/17/07, Sergey Livanov <sergey.livanov@gmail.com> wrote:
>
> Mark, thank you a lot for answer.
> I want to do something like
> try{
>     sqlMap.startTransaction() ;
>     sqlMap.insertHeader( headerbean );
>     sqlMap.insertItems( ListOfItems) ;
>     sqlMapcommitTransaction() ;
> } finally {
>     sqlMap.endTransaction() ;
> }
>
>
>
>
>
> 2007/5/17, Mark Volkmann <mark@ociweb.com>:
> >
> > On May 17, 2007, at 10:34 AM, Sergey Livanov wrote:
> > > I use Spring Dao + iBatis and I have to run into the one transaction
> > >
> > > inserts order document.
> > > ( insert into header values( docpk, docnum, docdate, client ) and
> > > many inserts as insert into( docfk, itempk, good, price, quantity ).
> > >
> > > I do not know how to create one transaction in the case of spring dao,
> >
> > >
> > > And I do not know how to enter data for items by the iterates.
> > > Help me please.
> >
> > I'm not sure if I understand the issue you are trying to solve, but
> > maybe my notes will help. I have notes on setting up declarative
> > transaction management with Spring at http://www.ociweb.com/mark/
> > programming/SpringTransactions.html.
> >
>
>

Mime
View raw message