對這文章發表回應
發表限制: 非會員 可以發表
發表者: 冷日 發表時間: 2019/7/29 14:16:28
繼承這一篇冷日的 Oracle Identity 實做之後,再來就是在 Java 上取得 Sequence Identity ID!
冷日這裡稍微分享一下冷日的實做方法:
首先準備一個 Boolean 來決定最後要 Commit 或是 Rollback
然後如同前面所說的,先給一個 int array 告訴 PreparedStatement 我們的 Sequence Identity ID 是哪個欄位
再來就是準備 Connection 囉
中間如何組合 PreparedStatement 冷日就不獻醜了,最重要的是把 PreparedStatement 給 Execute 出去
如果有順利執行出去的話,我們就要去把 Sequence Identity ID 給拿回來了
順利取回 Sequence Identity ID,就看各位要怎麼使用囉!
記得,全部都準備好以後,要 Commit 出去唷!
搞定!!!
冷日這裡稍微分享一下冷日的實做方法:
首先準備一個 Boolean 來決定最後要 Commit 或是 Rollback
boolean ready2Commit = true;
然後如同前面所說的,先給一個 int array 告訴 PreparedStatement 我們的 Sequence Identity ID 是哪個欄位
int rimtid[]={1};
再來就是準備 Connection 囉
try {
ebsConnection = sqlTalk.getConnectionFromPool();
//Prepared Statement Transaction with commit/rollback pattern
ebsConnection.setAutoCommit(false);
中間如何組合 PreparedStatement 冷日就不獻醜了,最重要的是把 PreparedStatement 給 Execute 出去
updateMCount = sqlPreparedStamtementM.executeUpdate();
如果有順利執行出去的話,我們就要去把 Sequence Identity ID 給拿回來了
if( updateMCount > 0 ) {
ResultSet rsM = sqlPreparedStamtementM.getGeneratedKeys();
rsM.next();
long orderMId = rsM.getLong(1);
順利取回 Sequence Identity ID,就看各位要怎麼使用囉!
記得,全部都準備好以後,要 Commit 出去唷!
if( ready2Commit ) {
//20190726,Prepared Statement Transaction with commit/rollback pattern
ebsConnection.commit();
}
搞定!!!
