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 中,事务和上面配置一样,但可以实现上面的效果,菜鸟不理解,求大神帮忙 ,万分感谢!!! 第一次发帖,有什么没说清楚,请原谅!!!谢谢
...全文
354 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
scmod 2015-07-19
  • 打赏
  • 举报
回复
是不是insert完要提交什么的? 貌似我以前用的spring+mybatis也没这样的问题能直接查的

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧