1. Test the procedure for adding data
Copy the code code as follows:
public void testProcedure() {
Connection con = getConnction();
// **1. Test the procedure for adding data
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, "[email protected]");
} catch (SQLException e) {
e.printStackTrace();
}
try {
cs.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
2. Test the procedure for deleting data
Copy the code code as follows:
public void testDelPro() {
Connection con = getConnction();
// **2. Test the procedure for deleting data
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. Test the procedure for updating data
Copy the code code as follows:
public void testDelPro() {
Connection con = getConnction();
// **3. Test the procedure for updating data
String procedure = "{call users_updatebyId_proc(?,?,?,?) }";
CallableStatement cs = null;
try {
cs = con.prepareCall(procedure);
cs.setInt(1, 101); cs.setString(2, "Little Third Party's Hao"); cs.setString(3, "asdf342864"); cs.setString(4, "[email protected]");
} catch (SQLException e) {
e.printStackTrace();
}
try {
cs.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
4. Test the procedure for finding data
a) Build a package body
b) Create query procedure
Copy the code code as follows:
create or replace package userspackage as
type users_cursor is ref cursor;
end userspackage;
Copy the code code as follows:
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 call
Copy the code code as follows:
public void testDelPro() {
Connection con = getConnction();
//Return query 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();
}
}