背景:
最近公司在做食堂POS机研发,有个功能是上传离线交易。每次向服务器提交1000~2000条数据,我们现在是循环将每一条save进去,现想优化下用存储过程来实现,减少jdbc连接。
1.准备
说明:我们数据库是:orcale 11g,java 是7
1.1 创建一张表
create table A
(
aa VARCHAR2(30),
b VARCHAR2(30),
c VARCHAR2(40)
)
1.2 java创建一个类带main方法的类
/**
*
* @类功能说明 TODO
* @类修改者
* @修改日期
* @修改说明
* @公司名称 Dlk
* @作者 樊强
* @创建时间 2015年10月8日 上午11:28:34
* @版本 V1.0
*
*/
public class JDBCProTest {
public static void main(String[] args) {
<span style="white-space:pre"> </span>
}
}
1.3 java 基本数据
private static String X_DRIVER = "oracle.jdbc.driver.OracleDriver";
private static String X_USERNAME = "bpim";
private static String X_PASSWORD = "123456";
private static String X_URL = "jdbc:oracle:thin:@192.168.1.25:1521:orcl";
2.直接在java程序里调用存储过程无参数无返回值。
2.1 存储过程
CREATE OR REPLACE PROCEDURE A_PROC
IS
BEGIN
INSERT INTO A (aa)values('1');
COMMIT;
END A_PROC;
2.2 java程序
/**
*
* @throws Exception
* @创建时间 2015年10月8日 上午11:35:03
* @作者 樊强
* @返回值 void
* @描述 测试调用存储过程:无返回值 无参数
*
*/
public static void testProcNoInNoOut() throws Exception {