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 中,事务和上面配置一样,但可以实现上面的效果,菜鸟不理解,求大神帮忙 ,万分感谢!!! 第一次发帖,有什么没说清楚,请原谅!!!谢谢
...全文
174 点赞 收藏 1
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
scmod 2015-07-19
是不是insert完要提交什么的? 貌似我以前用的spring+mybatis也没这样的问题能直接查的
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2015-07-17 01:56
社区公告
暂无公告