java調用Oracle存儲過程的方法實例
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)創(chuàng)建查詢的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 Spring動態(tài)生成Mysql存儲過程詳解
- 詳解java調用存儲過程并封裝成map
- MyBatis創(chuàng)建存儲過程的實例代碼_動力節(jié)點Java學院整理
- Java調用Oracle存儲過程詳解
- Java實現調用MySQL存儲過程詳解
- 詳解Java的JDBC API的存儲過程與SQL轉義語法的使用
- java編程調用存儲過程中得到新增記錄id號的實現方法
- Java調用MySQL存儲過程并獲得返回值的方法
- java調用mysql存儲過程實例分析
- Java中調用SQL Server存儲過程詳解
- java調用oracle分頁存儲過程示例
- Java下使用Oracle存儲過程(詳解)
- Java存儲過程調用CallableStatement的方法
相關文章
實例分析Java中public static void main(String args[])是什么意思
這篇文章主要介紹了實例分析Java中public static void main(String args[])的意義,詳細分析了Java主函數main關鍵字聲明的具體含義和用法,需要的朋友可以參考下2015-12-12
詳解SpringBoot定制@ResponseBody注解返回的Json格式
這篇文章主要介紹了詳解SpringBoot定制@ResponseBody注解返回的Json格式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11

