MP之外掛程式開發 事務

2021-07-05 15:13:04 字數 2262 閱讀 5114

mp平台在批處理資料時,一般是使用loopdo規則,進行迴圈處理。

該方法的缺點是:沒有事務,使得批處理在失敗時,沒有回滾。

開發準備--匯入dll:

ly.eap.workflow.plugin.dll

ly.tec.data.common.dll

ly.tec.data.data2.dll

ly.tec.excel.dll

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.data;

using ly.tec.data.data2;

using system.data.common;

namespace ly.clp.mp.plugin.duntask}}

catch(exception e)

tran.commit();

dicresult.add("msg", msg);

return dicresult;

}/// /// 修改催收任務表

///

/// 連線資料庫

/// 事務

/// 最後更新人員id

/// 任務處理人id

/// 催收任務id

/// 併發id

///

public string updateallot(gateway gateway,dbtransaction tran,string userid,string alloterid,string dunid,string controlid)

',last_updated_date=systimestamp,

bu_dun_task_man_id='',

assign_date=systimestamp

where

bu_dun_task_id='' and

update_control_id=''

", userid,

alloterid,

dunid,

controlid

);custom.sql = sql;

custom.settransaction(tran);

if (custom.executenonquery() > 0)

return "成功";

else

return "失敗";

}catch (exception e)}}

}

1.連線資料庫;

2.建立事務;

3.生成sql;

4.新增事務;

5.執行;

6.提交/回滾。

連線資料庫

gateway gateway = gateway.default;
default表示使用預設的連線方式,這裡的預設是mp配置配置檔案的連線。

單元測試用:

gateway gateway = new gateway(databasetype.oracle, "user id=zuchekf;data source=kfycxms;password=zuchekf;persist security info=true");

初始化sql語句

customsqlsection custom = gateway.fromcustomsql(".");
其中「."是乙個sql語句,由於同事們都這樣使用,在這裡本人跟風了一把。

其實這樣使用會導致後面需要有:

custom.sql = sql;

新增事務

custom.settransaction(tran);

由於updateallot方法中的執行都是使用同乙個事務,而且這個事務是由phoneallot方法傳遞過來的,

所以可以在phoneallot方法中做統一的提交和回滾。

執行sql

custom.executenonquery()
返回影響行數。

感謝,同事李磊的指導。

MP實戰系列 十五 之執行分析外掛程式

sql 執行分析 目前只支援 mysql 5.6.3 以上版本 作用是分析 處理 delete update 語句,防止小白或者惡意 delete update 全表操作!這裡我引用mybatis plus官方文件所說的。為什麼需要執行分析外掛程式?實際開發中,雖然我們可以根據資料庫許可權分給對應的...

MP實戰系列 十六 之效能分析外掛程式

效能分析 用於輸出每條 sql 語句及其執行時間。雖然使用阿里的druid連線池可以完成這個目的,但是,我們一般認為,目前的元件能夠達到這個目的,盡量使用目前的元件,因為修改配置和引入第三方庫是需要消耗效能的。很久使用我們沒有這種便利的開發工具來測試效能,比如以mysql為例,我們就使用explai...

openfire外掛程式開發之完美開發

m 一 說在前面 在繼上篇openfire3.8.2在eclipse中debug方式啟動最簡單的方式後,我研究了openfire的外掛程式開發,在研究過程中,參考了多位朋友的部落格的內容,特別是csdn上這位同學的部落格,裡面有關於如何開發最簡單的外掛程式和聊天外掛程式的內容,我按照博主的內容進行了...