日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java oracle临时表,JdbcTemplate操作oracle的临时表

發(fā)布時(shí)間:2024/9/18 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java oracle临时表,JdbcTemplate操作oracle的临时表 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

使用spring 的 JdbcTemplate 進(jìn)行sql 的操作, 對于每一次的如:query, update, batchUpdate,execute 這些方法, 執(zhí)行一次都是調(diào)用不同的 Connection的.

所以如果你是對 oracle 的臨時(shí)表進(jìn)行數(shù)據(jù)操作, 你update一次后, 在query 是讀取不到臨時(shí)表的數(shù)據(jù)的, 因?yàn)檫@兩次的操作對應(yīng)的Connection是不同的.

為了能使用oracle 的臨時(shí)表, 就需要對每個(gè)操作提供一個(gè)相同 Connection, 以后的所有操作都跟這個(gè) Connection產(chǎn)生的 Statement, PreparedStatement, CallableStatement 相關(guān), 并且通過這些對象的getConnection() 方法也可以很容易就取得原來的 connection 對象.

由于以前沒用過Spring? 的 JdbcTemplate, 所以邊工作的時(shí)候邊查詢 JdbcTemplate 的源代碼, 寫寫一些小功能測試.

其實(shí)JdbcTemplate 里面很多方法的返回的結(jié)果都是用到了 execute() 這個(gè)方法的, 所以用獲取同一個(gè) Connection 對象, 就要從 execute() 入手.

1. execute(ConnectionCallback action)

在JdbcTempate 的execute() 方法里面,

//-------------------------------------------------------------------------

// Methods dealing with a plain java.sql.Connection

//-------------------------------------------------------------------------

public Object execute(ConnectionCallback action) throws DataAccessException;

在這個(gè)方法里面接口 ConnectionCallback 定義如下

public interface ConnectionCallback {

Object doInConnection(Connection con) throws SQLException, DataAccessException;

}

在接口 ConnectionCallback? 中聲明的方法Object doInConnection(Connection con) 中提供了參數(shù) Connection conn, 這個(gè)剛好就是我們所需要的.??我們在實(shí)現(xiàn) doInConnection(Connection con)? 方法的過程中, 就可以自由使用 Connection conn.

2. 實(shí)現(xiàn) ConnectionCallback? 的方法有兩種

總結(jié)

以上是生活随笔為你收集整理的java oracle临时表,JdbcTemplate操作oracle的临时表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。