第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

mybatis怎么處理事務(wù)問(wèn)題

mybatis怎么處理事務(wù)問(wèn)題

森林海 2019-02-17 12:15:04
我用的mybatis是基于SqlSessionTemplate實(shí)現(xiàn)的,如下: @Repository("daoSupport") public class DaoSupport implements BaseDAO { @Resource(name = "sqlSessionTemplate") private SqlSessionTemplate sqlSessionTemplate; /** * 保存對(duì)象 * @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); } /** * 修改對(duì)象 * @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文件里面寫(xiě)對(duì)應(yīng)sql的Mapper,我想在調(diào)用service層的方法操作數(shù)據(jù)庫(kù)時(shí),幾條sql語(yǔ)句同時(shí)commit,其中有一條失敗則全部不執(zhí)行,就和jdbc那樣先設(shè)置不自動(dòng)commit,然后在commit那種,要在哪里配置或調(diào)用啥方法實(shí)現(xiàn)?
查看完整描述

3 回答

?
元芳怎么了

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個(gè)贊

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

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

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

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

mybatis-spring

查看完整回答
反對(duì) 回復(fù) 2019-03-01
  • 3 回答
  • 0 關(guān)注
  • 1672 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)