配置文件:
<
bean
id
="dataSource"
class
="org.springframework.jdbc.datasource.DriverManagerDataSource"
>
< property name ="driverClassName" >
< value > com.sybase.jdbc3.jdbc.SybDriver </ value >
</ property >
< property name ="url" >
< value > jdbc:sybase:Tds:192.168.0.10:4100/DB_CENTER?charset=eucgb & jconnect_version=4
</ value >
</ property >
< property name ="username" >
< value > sa </ value >
</ property >
< property name ="password" >
< value ></ value >
</ property >
</ bean >
< bean id ="TransactionManager" class ="org.springframework.jdbc.datasource.DataSourceTransactionManager" >
< property name ="dataSource" >
< ref bean ="dataSource" />
</ property >
</ bean >
< bean id ="sessionFactory"
class ="org.springframework.orm.hibernate3.LocalSessionFactoryBean" >
< property name ="dataSource" >
< ref local ="dataSource" />
</ property >
< property name ="hibernateProperties" >
< props >
< prop key ="hibernate.dialect" >
org.hibernate.dialect.SybaseDialect
</ prop >
< prop key ="hibernate.show_sql" > false </ prop >
< prop key ="hibernate.cache.use_query_cache" > true </ prop >
< prop key ="hibernate.cache.provider_class" >
org.hibernate.cache.HashtableCacheProvider
</ prop >
</ props >
</ property >
< property name ="mappingResources" >
< list >
< value > com/bjjdsy/ky/zl/domain/ZlStationTab.hbm.xml </ value >
</ list >
</ property >
</ bean >
< bean id ="transactionTemplate" class ="org.springframework.transaction.support.TransactionTemplate" >
< property name ="transactionManager" >
< ref bean ="TransactionManager" />
</ property >
</ bean >
< bean id ="courseService" class ="com.test.CourseService" >
< property name ="transactionTemplate" >
< ref bean ="transactionTemplate" />
</ property >
</ bean >
< property name ="driverClassName" >
< value > com.sybase.jdbc3.jdbc.SybDriver </ value >
</ property >
< property name ="url" >
< value > jdbc:sybase:Tds:192.168.0.10:4100/DB_CENTER?charset=eucgb & jconnect_version=4
</ value >
</ property >
< property name ="username" >
< value > sa </ value >
</ property >
< property name ="password" >
< value ></ value >
</ property >
</ bean >
< bean id ="TransactionManager" class ="org.springframework.jdbc.datasource.DataSourceTransactionManager" >
< property name ="dataSource" >
< ref bean ="dataSource" />
</ property >
</ bean >
< bean id ="sessionFactory"
class ="org.springframework.orm.hibernate3.LocalSessionFactoryBean" >
< property name ="dataSource" >
< ref local ="dataSource" />
</ property >
< property name ="hibernateProperties" >
< props >
< prop key ="hibernate.dialect" >
org.hibernate.dialect.SybaseDialect
</ prop >
< prop key ="hibernate.show_sql" > false </ prop >
< prop key ="hibernate.cache.use_query_cache" > true </ prop >
< prop key ="hibernate.cache.provider_class" >
org.hibernate.cache.HashtableCacheProvider
</ prop >
</ props >
</ property >
< property name ="mappingResources" >
< list >
< value > com/bjjdsy/ky/zl/domain/ZlStationTab.hbm.xml </ value >
</ list >
</ property >
</ bean >
< bean id ="transactionTemplate" class ="org.springframework.transaction.support.TransactionTemplate" >
< property name ="transactionManager" >
< ref bean ="TransactionManager" />
</ property >
</ bean >
< bean id ="courseService" class ="com.test.CourseService" >
< property name ="transactionTemplate" >
< ref bean ="transactionTemplate" />
</ property >
</ bean >
回调函数代码:
private
TransactionTemplate transactionTemplate;
public void enrollStudent() ... {
transactionTemplate.execute(new TransactionCallback()...{
public Object doInTransaction(TransactionStatus ts)...{
try ...{
// 需要事务控制的方法代码
} catch (Exception e) ...{
ts.setRollbackOnly(); //回滚
}
return null; //事务提交
}
});
}
}
public void enrollStudent() ... {
transactionTemplate.execute(new TransactionCallback()...{
public Object doInTransaction(TransactionStatus ts)...{
try ...{
// 需要事务控制的方法代码
} catch (Exception e) ...{
ts.setRollbackOnly(); //回滚
}
return null; //事务提交
}
});
}
}