spring事物,通过tx ,aop 配置声明事务,在一个方法中,先添加,在查找,查找不到刚添加的数据
朽木自雕 2015-07-17 01:56:18 <bean id="txManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="jdbcDataSource"/>
</bean>
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="*" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>
<aop:config>
<!--定义切点-->
<aop:pointcut id="pointcut" expression="execution(* com.ld.phone.serviceImpl.*.*(..))"/>
<!--切面的工作被定义为通知-->
<aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut"/>
</aop:config>
这是事物配置,如有异常,事务可以回滚成功,就是要实现在同一个方法中,添加一条记录之后在查找这个添加的记录,查询不到,如果把上面的配置注释掉,就可以。
下面是我通过手动提交事务,
transactionTemplate.execute(new TransactionCallback<Object>() {
@Override
public Object doInTransaction(TransactionStatus transactionStatus) {
String sql = "insert into userss(uuid,uname,upho) values ('58','test','13716822222')";
try {
int cont = base.commonOperate(sql, null);
System.out.println(cont);
} catch (Exception e) {
e.printStackTrace();
transactionStatus.setRollbackOnly();
}
return null;
}
});
JSONArray jsons = base.commonFind("select * from userss where uuid='" + 58 + "'", null);
System.out.println(jsons.length());
这样还是不行。
求实现方式啊,
备注:我的框架是spring + springtemplate ,但是在我另一个项目中,spring + mybatis 中,事务和上面配置一样,但可以实现上面的效果,菜鸟不理解,求大神帮忙 ,万分感谢!!! 第一次发帖,有什么没说清楚,请原谅!!!谢谢