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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]>:
>
> 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.
>


Reply via email to