java oracle临时表,JdbcTemplate操作oracle的临时表
使用spring 的 JdbcTemplate 进行sql 的操作, 对于每一次的如:query, update, batchUpdate,execute 这些方法, 执行一次都是调用不同的 Connection的.
所以如果你是对 oracle 的临时表进行数据操作, 你update一次后, 在query 是读取不到临时表的数据的, 因为这两次的操作对应的Connection是不同的.
为了能使用oracle 的临时表, 就需要对每个操作提供一个相同 Connection, 以后的所有操作都跟这个 Connection产生的 Statement, PreparedStatement, CallableStatement 相关, 并且通过这些对象的getConnection() 方法也可以很容易就取得原来的 connection 对象.
由于以前没用过Spring 的 JdbcTemplate, 所以边工作的时候边查询 JdbcTemplate 的源代码, 写写一些小功能测试.
其实JdbcTemplate 里面很多方法的返回的结果都是用到了 execute() 这个方法的, 所以用获取同一个 Connection 对象, 就要从 execute() 入手.
1. execute(ConnectionCallback action)
在JdbcTempate 的execute() 方法里面,
//-------------------------------------------------------------------------
// Methods dealing with a plain java.sql.Connection
//-------------------------------------------------------------------------
public Object execute(ConnectionCallback action) throws DataAccessException;
在这个方法里面接口 ConnectionCallback 定义如下
public interface ConnectionCallback {
Object doInConnection(Connection con) throws SQLException, DataAccessException;
}
在接口 ConnectionCallback 中声明的方法Object doInConnection(Connection con) 中提供了参数 Connection conn, 这个刚好就是我们所需要的. 我们在实现 doInConnection(Connection con) 方法的过程中, 就可以自由使用 Connection conn.
2. 实现 ConnectionCallback 的方法有两种
java oracle临时表,JdbcTemplate操作oracle的临时表相关推荐
- java mysql nclob_java语言操作Oracle数据库中的CLOB数据类型 (转)
java语言操作Oracle数据库中的CLOB数据类型 (转)[@more@] 有关字段类型的相关信息可以查阅oracle技术网.下面摘抄一些有关blob.clob等类型的说明.又便于大家的了解. 字 ...
- java 批量入库oracle_java操作Oracle数据库——ARRAY、TABLE类型批量入库
首先是我的数据库表(PLSQL操作) create table TEST_TABLE ( yid NUMBER, ytel VARCHAR2(50), yanumber VARCHA ...
- oracle中dml操作,Oracle的DML操作过程
DML操作,Oracle所有进程配合执行的过程成! 用户将DML操作的语句通过进程传输给sga中的buffer cache,然后在buffer cache中对所更改的数据块进行更新操作,然后首先由lo ...
- python如何操作oracle数据库_Python 操作 Oracle 数据库
前言 操作系统:Window 10 64 位 RPA: IS-RPA 2020.2.0 查看 IS-RPA Python 版本 由下图可知: IS-RPA 安装在 E 盘,Python 解释器所在的目 ...
- 在oracle中游标的操作,Oracle中的游标和函数详解
Oracle中的游标和函数详解 1.游标 游标是一种 PL/SQL 控制结构:可以对 SQL 语句的处理进行显示控制,便于对表的行数据 逐条进行处理. 游标并不是一个数据库对象,只是存留在内存中. 操 ...
- jdbc 执行oracle命令,JDBC操作oracle
JDBC (java DataBase Connection)java数据库连接 使用jdbc使用java.sql包下的常用的几个接口: Connection 用于获得数据库的连接 Statement ...
- python调用oracle数据库_python操作oracle数据库
# -*- mode: python; coding: utf-8 -*- # # python operate oracle, contain insert.delete.update.select ...
- python如何操作oracle数据库_python操作oracle数据库
搜索热词 下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. # -*- mode: python; coding: utf-8 -*- # ...
- oracle 函数插入操作,Oracle函数内部运用insert插入
Oracle函数内部使用insert插入 create or replace function GET_PRODUCT_ID_BY_NAME(productName varchar2) return ...
最新文章
- Django 无法添加新字段,django.db.utils.OperationalError: (1050, Table app already exists)
- bzoj1433: [ZJOI2009]假期的宿舍
- LaTeX:公式及编号
- jmeter启动报错 Error occurred during initialization of VM Could not reserve enough space for object heap
- matlab二元一次方程求解_2-函数的求解计算
- windows7系统屏幕一直闪屏的解决教程
- 基于生命周期理论的农业科学数据中心化管理模式
- codeblocks和vscode编译时弹出不支持的16位程序解决方案
- php下载隐藏,php – 隐藏下载URL
- JY游戏之毁经典《扫雷》
- grub引导U盘(集成常用工具/深山红叶PE工具箱V30/完美者U盘维护系统V8.1)
- https://blog.csdn.net/gyming/article/details/46611369
- 航空订票系统java_航空订票系统(JAVA+SSH+MYSQL)
- java gps_用Java解析GPS经纬度
- java项目根目录_获取java项目的根目录
- uni-app 从本地项目选择图片或使用相机拍照及图片预览
- 加密货币涨跌的原理到底是什么?
- android studio官方教程 pdf,android studio教程pdf
- Kubernetes 为何称为 K8s?
- android gamed,先游DGame
热门文章
- 使用git pull文件时和本地文件冲突怎么办
- Spring组件扫描context:component-scan/使用详解
- 无法加载 DLL“oramts.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)
- python机器学习库xgboost——xgboost算法(有分类和回归实例)
- Laravel 队列:如何查看队列报错信息
- PHP的str_split分割字符串成数组
- Linux配置apache虚拟主机:静态文件
- Oracle数据库用户失效对象,Oracle数据库对象失效解决
- 微信小程序之redirectTo、switchTab和navigateTo
- linux中vi大括号enter缩进,格式 – 如何在vi中对齐代码(大括号,括号等)?