手机
当前位置:查字典教程网 >编程开发 >Java >java调用Oracle存储过程的方法实例
java调用Oracle存储过程的方法实例
摘要:1.测试添加数据的procedure复制代码代码如下:publicvoidtestProcedure(){Connectioncon=get...

1.测试添加数据的procedure

复制代码 代码如下:

public void testProcedure() {

Connection con = getConnction();

// **1.测试添加数据的procedure

String procedure = "{call users_insert_proc(?,?,?,?) }";

CallableStatement cs = null;

try {

cs = con.prepareCall(procedure);

cs.setInt(1, 123450);

cs.setString(2, "xxiaox");

cs.setString(3, "Ww342864");

cs.setString(4, "742621646@qq.com");

} catch (SQLException e) {

e.printStackTrace();

}

try {

cs.executeUpdate();

} catch (SQLException e) {

e.printStackTrace();

}

}

2.测试删除数据的procedure

复制代码 代码如下:

public void testDelPro() {

Connection con = getConnction();

// **2.测试删除数据的procedure

String procedure = "{call delete_usersbyid_proc(?) }";

CallableStatement cs = null;

try {

cs = con.prepareCall(procedure);

cs.setInt(1, 123450);

} catch (SQLException e) {

e.printStackTrace();

}

try {

cs.executeUpdate();

} catch (SQLException e) {

e.printStackTrace();

}

}

3.测试更新数据的procedure

复制代码 代码如下:

public void testDelPro() {

Connection con = getConnction();

// **3.测试更新数据的procedure

String procedure = "{call users_updatebyId_proc(?,?,?,?) }";

CallableStatement cs = null;

try {

cs = con.prepareCall(procedure);

cs.setInt(1, 101); cs.setString(2, "小第三方的浩"); cs.setString(3, "asdf342864"); cs.setString(4, "742621646@qq.com");

} catch (SQLException e) {

e.printStackTrace();

}

try {

cs.executeUpdate();

} catch (SQLException e) {

e.printStackTrace();

}

}

4.测试查找数据的procedure

a)建包体

b)创建查询的procedure

复制代码 代码如下:

create or replace package userspackage as

type users_cursor is ref cursor;

end userspackage;

复制代码 代码如下:

create or replace procedure users_packageAll(

s_id in number ,u_cursor out userspackage.users_cursor) is

begin

if s_id = 0 then

open u_cursor for select id,name,pword,email from users;

else

open u_cursor for select id,name,pword,email from users where id=s_id;

end if;

end;

c)Java调用

复制代码 代码如下:

public void testDelPro() {

Connection con = getConnction();

// 返回查询procedure

String procedure = "{call users_packageAll(?,?) }";

CallableStatement cs = null;

try {

cs = con.prepareCall(procedure);

cs.setInt(1, 0);

cs.registerOutParameter(2, oracle.jdbc.OracleTypes.CURSOR);

} catch (SQLException e) {

e.printStackTrace();

}

try {

cs.execute();

ResultSet rs = (ResultSet)cs.getObject(2);

while (rs.next()) {

System.out.println(rs.getInt(1) + " " + rs.getString(2));

}

} catch (SQLException e) {

e.printStackTrace();

}

}

【java调用Oracle存储过程的方法实例】相关文章:

java正则表达式应用的实例代码

java中Servlet处理乱码的方法

java读写二进制文件的解决方法

java线程之使用Runnable接口创建线程的方法

javamail 发送邮件的实例代码分享

Java调用DOS实现定时关机的实例

java中通用的线程池实例代码

java线程之用Thread类创建线程的方法

java 实现线程同步的方式有哪些

java 字符串相减(很简单的一个方法)

精品推荐
分类导航