日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

java - mybatis怎么處理事務問題

瀏覽:244日期:2024-01-21 11:38:58

問題描述

我用的mybatis是基于SqlSessionTemplate實現的,如下:

@Repository('daoSupport')public class DaoSupport implements BaseDAO { @Resource(name = 'sqlSessionTemplate') private SqlSessionTemplate sqlSessionTemplate;/** * 保存對象 * @param str * @param obj * @return * @throws Exception */ public Object save(String str, Object obj){return sqlSessionTemplate.insert(str, obj); }/** * 批量更新 * @param str * @param obj * @return * @throws Exception */ public Object batchSave(String str, List objs){return sqlSessionTemplate.insert(str, objs); }/** * 修改對象 * @param str * @param obj * @return * @throws Exception */ public Object update(String str, Object obj){Integer count=sqlSessionTemplate.update(str, obj);

@Service

public class OrderInfoService { @Resource(name = 'daoSupport') private DaoSupport dao;@SuppressWarnings('unchecked') public List<PageData> getPerson() { List<PageData> a =(List<PageData>)dao.findAllList( 'OrderInfoMapper.getOrderInfo'); return a; } public void save(PageData pd){dao.save('OrderInfoMapper.saveOrderInfo', pd); } public void update(PageData pd){dao.update('OrderInfoMapper.updateOrder', pd); }@SuppressWarnings('unchecked') public List<PageData> list(PageData pd){return (List<PageData>)dao.findForList('OrderInfoMapper.getOrderInfo', pd); }

在xml文件里面寫對應sql的Mapper,我想在調用service層的方法操作數據庫時,幾條sql語句同時commit,其中有一條失敗則全部不執行,就和jdbc那樣先設置不自動commit,然后在commit那種,要在哪里配置或調用啥方法實現?

問題解答

回答1:

請百度spring的事務管理

第一種,配置事務管理的規則,具體怎么寫可以再百度,一兩句說不清

<bean class='org.springframework.jdbc.datasource.DataSourceTransactionManager'><property name='dataSource' ref='dataSource'/> </bean> <aop:config><aop:pointcut expression='execution(* com.web..*.services..*Impl.*(..))'/><aop:advisor advice-ref='txAdvice' pointcut-ref='interceptorPointCuts'/> </aop:config> <tx:advice transaction-manager='transactionManager'><tx:attributes> <tx:method name='save*' propagation='REQUIRED' rollback-for='java.lang.Exception'/> <tx:method name='update*' propagation='REQUIRED' rollback-for='java.lang.Exception'/> <tx:method name='insert*' propagation='REQUIRED' rollback-for='java.lang.Exception'/> <tx:method name='delete*' propagation='REQUIRED' rollback-for='java.lang.Exception'/>for='java.lang.Exception'/> --></tx:attributes> </tx:advice>

第二種使用注解@Transactional

<bean class='org.springframework.jdbc.datasource.DataSourceTransactionManager'><property name='dataSource' ref='dataSource'/> </bean> <!--聲明使用注解式事務--> <tx:annotation-driven transaction-manager='transactionManager'/>回答2:

Programmatic Transaction Management MyBatis SqlSession provides youwith specific methods to handle transactions programmatically. Butwhen using MyBatis-Spring your beans will be injected with a Springmanaged SqlSession or a Spring managed mapper. That means that Springwill always handle your transactions.

You cannot call SqlSession.commit(), SqlSession.rollback() orSqlSession.close() over a Spring managed SqlSession. If you try to doso, a UnsupportedOperationException exception will be thrown. Notethese methods are not exposed in injected mapper classes.

Regardless of your JDBC connection’s autocommit setting, any executionof a SqlSession data method or any call to a mapper method outside aSpring transaction will be automatically committed.

If you want to control your transactions programmatically please referto chapter 10.6 of the Spring reference manual. This code shows how tohandle a transaction manually using the PlatformTransactionManagerdescribed in section 10.6.2.

mybatis-spring

回答3:

Spring好像不允許手動提交事務,Spring容器會自動管理事務!java - mybatis怎么處理事務問題

回答4:

//使用事務處理,訂單及貨物訂單必須同時插進2個表里面@Transactional(rollbackFor=Exception.class)public void save(PageData pd,Map<String,Integer> map,String uuid,int Uid){ dao.save('OrderInfoMapper.saveOrderInfo', pd); OrderGood orderGood=new OrderGood(); for(String gid:map.keySet()){Goods good=goodService.findOne(gid);orderGood.setGname(good.getGname());//Integer a=map.get(gid);orderGood.setOgamount(map.get(gid));orderGood.setGid(Integer.parseInt(gid));orderGood.setOgtotalprize(map.get(gid)*good.getGprice());orderGood.setUid(Uid);orderGood.setOid(uuid);dao.save('OrderInfoMapper.saveOrderGood', orderGood);} }使用@Transactional 注解則成功解決問題,此注解是spring 的事務管理,使用前先配置如下:

<bean class='org.springframework.jdbc.datasource.DataSourceTransactionManager'><property name='dataSource' ref='dataSource'/> </bean> <!--聲明使用注解式事務--> <tx:annotation-driven transaction-manager='transactionManager'/> 只需要在service層方法中執行多條mybatis的mapper并加上注解即可,發生異常則此方法的事務會回滾

標簽: java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲神马久久| 日韩在线第七页| 尤物在线精品| av亚洲在线观看| 亚洲午夜一级| 午夜日韩av| 欧美久久天堂| 亚洲www啪成人一区二区| 日韩网站中文字幕| 久久中文视频| 一级欧洲+日本+国产| 国产国产精品| 三级欧美在线一区| 日本综合视频| 欧美黑人做爰爽爽爽| 麻豆视频一区| 亲子伦视频一区二区三区| 99视频精品全国免费| 蜜臀av免费一区二区三区| 99精品99| 日韩精品欧美精品| 日韩av字幕| 久久精品五月| 日本美女一区| 日韩一级欧洲| 日韩福利在线观看| 久久精品国产一区二区| 伊人久久视频| 亚洲欧美日本视频在线观看| 亚洲天堂日韩在线| 国产伦理一区| 亚洲欧洲美洲av| 日韩午夜免费| 欧美一区精品| 国产一区二区三区视频在线| 日韩欧美看国产| 99国产精品99久久久久久粉嫩| 亚洲精品影视| 国产成人免费| 五月精品视频| 日韩av中文字幕一区| 久久亚洲人体| 亚洲大全视频| 日本午夜精品视频在线观看| 国产一区二区三区视频在线| 伊人久久亚洲美女图片| 国产三级精品三级在线观看国产| 欧美韩日一区| 亚洲精品护士| 成人午夜网址| 亚洲视频二区| 久久精品国产亚洲aⅴ | 亚洲精一区二区三区| 美女久久久久久| 激情偷拍久久| 欧美一区二区三区久久精品| 成人三级高清视频在线看| 99精品99| 国产精品99一区二区三| 国产精品美女| 国产aⅴ精品一区二区三区久久| 亚洲欧美日韩一区在线观看| 精品一区二区三区中文字幕| 亚洲欧洲另类| 美女国产精品久久久| 亚洲二区视频| 久久99精品久久久久久园产越南| 九一成人免费视频| 国产精品流白浆在线观看| 精品中文一区| 久久亚洲精品中文字幕| 日韩在线播放一区二区| 成人午夜在线| 日本不卡视频在线观看 | 亚洲免费一区二区| 国产精品毛片一区二区在线看| 天堂va在线高清一区| www.com.cn成人| 日韩精品免费视频人成| 久久精品影视| 成人在线免费观看网站| 午夜精品影视国产一区在线麻豆| 日本欧美不卡| 麻豆一区二区99久久久久| 亚洲狼人精品一区二区三区| 99国产精品免费视频观看| 麻豆视频久久| 日本免费一区二区视频| 欧美日韩国产欧| 日韩久久一区二区三区| 欧美a在线观看| 日本午夜精品久久久| 欧美高清一区| 中文字幕在线视频久| 久久国产三级| 在线观看视频免费一区二区三区| 久久国产毛片| 久久精品毛片| 国产精品sm| 日本视频在线一区| 亚洲精品九九| 视频一区二区三区在线| 亚洲特色特黄| 亚洲免费福利| 成人亚洲精品| 国产精品1区| 国产免费av一区二区三区| 久久最新视频| 免费视频亚洲| 国产一区亚洲| 91日韩欧美| 久久久久九九精品影院| 欧美性www| 91伊人久久| 日韩国产一区二| 在线免费观看亚洲| 蜜臀av性久久久久蜜臀aⅴ四虎 | 日韩精品欧美| 亚洲www啪成人一区二区| 亚洲伊人av| 韩国精品主播一区二区在线观看| 久久精品国产成人一区二区三区| 麻豆国产精品| 国产传媒av在线| 成人自拍av| 欧美精品一区二区三区精品| 激情综合在线| 日韩一级不卡| 亚洲人成亚洲精品| 日韩高清不卡一区二区| 国产精品视频一区二区三区四蜜臂| 日韩黄色在线观看| 欧美日韩一区二区三区在线电影| 欧美一级久久| 国产精品手机在线播放| 精品视频一区二区三区四区五区| 久久av国产紧身裤| 日产精品一区二区| 日本美女一区| 制服诱惑一区二区| 蜜桃一区二区三区在线| 日韩毛片一区| 国产精品tv| 日本美女一区| 最新日韩欧美| 日韩中文字幕无砖| 国产精品调教| 欧美二三四区| 美女久久一区| 欧美日韩亚洲国产精品| 麻豆精品久久久| 四虎国产精品免费观看| 久久天堂成人| 蜜臀久久99精品久久久画质超高清 | 精品九九在线| 秋霞国产精品| 国产亚洲网站| 日本成人在线不卡视频| 美女国产一区二区三区| 99精品综合| 国产视频久久| 欧美久久香蕉| 手机在线电影一区| 欧美特黄一级| 91精品丝袜国产高跟在线| 久久精品网址| 伊人精品在线| 国产美女撒尿一区二区| 黑人精品一区| 久久亚洲不卡| 精品国产一区二区三区av片| 欧美sss在线视频| 亚洲精品观看| 国产精品亲子伦av一区二区三区| 波多野结衣久久精品| 视频一区中文| 国产精品毛片视频| 不卡中文一二三区| 国产经典一区| 99pao成人国产永久免费视频| 欧美在线黄色| 亚洲韩日在线| 国产精品探花在线观看| 久久五月天小说| 日本欧美一区二区| 亚洲午夜天堂| 日本一区中文字幕| 亚洲精品国产嫩草在线观看| 日本一区中文字幕| 久久婷婷丁香| 日韩成人av影视| 中文字幕在线视频久| 婷婷精品久久久久久久久久不卡| 日韩精品1区| 日韩激情一区二区| 久久精品播放| 久久久久久久久成人| 免费成人在线观看| 精品亚洲美女网站| 日本午夜免费一区二区|