1. 데이터 추가 절차 테스트
다음과 같이 코드 코드를 복사합니다 .
공공 무효 testProcedure() {
연결 con = getConnction();
// **1. 데이터 추가 절차를 테스트합니다.
문자열 프로시저 = "{users_insert_proc(?,?,?,?) 호출 }";
CallableStatement cs = null;
노력하다 {
cs = con.prepareCall(프로시저);
cs.setInt(1, 123450);
cs.setString(2, "xxiaox");
cs.setString(3, "Ww342864");
cs.setString(4, "[email protected]");
} 잡기(SQLException e) {
e.printStackTrace();
}
노력하다 {
cs.executeUpdate();
} 잡기(SQLException e) {
e.printStackTrace();
}
}
2. 데이터 삭제 절차를 테스트합니다.
다음과 같이 코드 코드를 복사합니다 .
공공 무효 testDelPro() {
연결 con = getConnction();
// **2. 데이터 삭제 절차를 테스트합니다.
문자열 프로시저 = "{call delete_usersbyid_proc(?) }";
CallableStatement cs = null;
노력하다 {
cs = con.prepareCall(프로시저);
cs.setInt(1, 123450);
} 잡기(SQLException e) {
e.printStackTrace();
}
노력하다 {
cs.executeUpdate();
} 잡기(SQLException e) {
e.printStackTrace();
}
}
3. 데이터 업데이트 절차 테스트
다음과 같이 코드 코드를 복사합니다 .
공공 무효 testDelPro() {
연결 con = getConnction();
// **3. 데이터 업데이트 절차를 테스트합니다.
문자열 프로시저 = "{call users_updatebyId_proc(?,?,?,?) }";
CallableStatement cs = null;
노력하다 {
cs = con.prepareCall(프로시저);
cs.setInt(1, 101); cs.setString(2, "작은 제3자의 Hao") cs.setString(3, "asdf342864") cs.setString(4, "[email protected]");
} 잡기(SQLException e) {
e.printStackTrace();
}
노력하다 {
cs.executeUpdate();
} 잡기(SQLException e) {
e.printStackTrace();
}
}
4. 데이터를 찾는 절차를 테스트합니다.
a) 패키지 본체 만들기
b) 쿼리 프로시저 생성
다음과 같이 코드 코드를 복사합니다 .
사용자 패키지를 다음으로 생성하거나 교체합니다.
users_cursor 유형은 참조 커서입니다.
최종 사용자패키지;
다음과 같이 코드 코드를 복사합니다 .
users_packageAll 프로시저 생성 또는 교체(
s_id는 숫자, u_cursor는 userspackage.users_cursor)입니다.
시작하다
s_id = 0이면
사용자의 ID, 이름, 비밀번호, 이메일을 선택하려면 u_cursor를 엽니다.
또 다른
id=s_id인 사용자의 id, 이름, 비밀번호, 이메일을 선택하려면 u_cursor를 엽니다.
종료하면;
끝;
c) 자바 호출
다음과 같이 코드 코드를 복사합니다 .
공공 무효 testDelPro() {
연결 con = getConnction();
//쿼리 프로시저를 반환합니다.
문자열 프로시저 = "{users_packageAll(?,?) 호출 }";
CallableStatement cs = null;
노력하다 {
cs = con.prepareCall(프로시저);
cs.setInt(1, 0);
cs.registerOutParameter(2, oracle.jdbc.OracleTypes.CURSOR);
} 잡기(SQLException e) {
e.printStackTrace();
}
노력하다 {
cs.execute();
ResultSet rs = (ResultSet)cs.getObject(2);
동안(rs.next()) {
System.out.println(rs.getInt(1) + " " + rs.getString(2));
}
} 잡기(SQLException e) {
e.printStackTrace();
}
}