java調(diào)用Oracle存儲(chǔ)過程的方法實(shí)例
1.測(cè)試添加數(shù)據(jù)的procedure
public void testProcedure() {
Connection con = getConnction();
// **1.測(cè)試添加數(shù)據(jù)的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.測(cè)試刪除數(shù)據(jù)的procedure
public void testDelPro() {
Connection con = getConnction();
// **2.測(cè)試刪除數(shù)據(jù)的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.測(cè)試更新數(shù)據(jù)的procedure
public void testDelPro() {
Connection con = getConnction();
// **3.測(cè)試更新數(shù)據(jù)的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.測(cè)試查找數(shù)據(jù)的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調(diào)用
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動(dòng)態(tài)生成Mysql存儲(chǔ)過程詳解
- 詳解java調(diào)用存儲(chǔ)過程并封裝成map
- MyBatis創(chuàng)建存儲(chǔ)過程的實(shí)例代碼_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
- Java調(diào)用Oracle存儲(chǔ)過程詳解
- Java實(shí)現(xiàn)調(diào)用MySQL存儲(chǔ)過程詳解
- 詳解Java的JDBC API的存儲(chǔ)過程與SQL轉(zhuǎn)義語法的使用
- java編程調(diào)用存儲(chǔ)過程中得到新增記錄id號(hào)的實(shí)現(xiàn)方法
- Java調(diào)用MySQL存儲(chǔ)過程并獲得返回值的方法
- java調(diào)用mysql存儲(chǔ)過程實(shí)例分析
- Java中調(diào)用SQL Server存儲(chǔ)過程詳解
- java調(diào)用oracle分頁存儲(chǔ)過程示例
- Java下使用Oracle存儲(chǔ)過程(詳解)
- Java存儲(chǔ)過程調(diào)用CallableStatement的方法
相關(guān)文章
Java經(jīng)理與員工的差異實(shí)現(xiàn)方法
這篇文章主要介紹了Java經(jīng)理與員工的差異實(shí)現(xiàn)方法,需要的朋友可以參考下2014-03-03
解決使用@ResponseBody后返回500錯(cuò)誤的問題
這篇文章主要介紹了解決使用@ResponseBody后返回500錯(cuò)誤的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-09-09
使用Spring的注解方式實(shí)現(xiàn)AOP實(shí)例
本篇文章主要介紹了使用Spring的注解方式實(shí)現(xiàn)AOP實(shí)例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06
Java微信公眾平臺(tái)開發(fā)(1) 接入微信公眾平臺(tái)
這篇文章主要為大家詳細(xì)介紹了Java微信公眾平臺(tái)開發(fā)第一步,接入微信公眾平臺(tái),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
ThreadLocal內(nèi)存泄露的產(chǎn)生原因和處理方法
ThreadLocal 的內(nèi)存泄漏問題通常發(fā)生在使用 ThreadLocal 存儲(chǔ)對(duì)象時(shí),尤其是在多線程環(huán)境中,線程池中的線程復(fù)用可能導(dǎo)致一些資源沒有及時(shí)清理,從而引發(fā)內(nèi)存泄漏,所以本文給大家介紹了ThreadLocal內(nèi)存泄露的產(chǎn)生原因和處理方法,需要的朋友可以參考下2024-12-12
springboot攔截器無法注入redisTemplate的解決方法
在工作中我們經(jīng)常需要做登錄攔截驗(yàn)證或者其他攔截認(rèn)證功能,但是在寫攔截器的時(shí)候發(fā)現(xiàn)redisTemplate一直無法注入進(jìn)來,本文就詳細(xì)的介紹了解決方法,感興趣的可以了解一下2021-06-06
詳解如何將Spring Boot應(yīng)用跑在Docker容器中
這篇文章主要介紹了詳解如何將Spring Boot應(yīng)用跑在Docker容器中,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
IntelliJ IDEA 2023.2正式發(fā)布新UI和Profiler轉(zhuǎn)正(最新推薦)
北京時(shí)間2023年7月26日,IntelliJ IDEA 2023.2正式發(fā)布,IntelliJ IDEA 2023.2 引入 AI Assistant(AI助手),通過一組由 AI 提供支持的功能助力開發(fā),今天給大家分享IntelliJ IDEA 2023.2正式發(fā)布新UI和Profiler轉(zhuǎn)正,感興趣的朋友一起看看吧2023-10-10

