KDT/TIL
2022-08-04 (Thu)
imname1am
2022. 8. 7. 22:34
반응형
Contents
18. JDBC
지난 글 이어서
Connection 객체
데이터베이스를 연결해 작업을 수행할 수 있도록 만들어 주는 중요한 객체 |
Connection con = DriverManager.getConnection(url , uid, pwd);
Statement 객체
Connection 객체(con)로 접근해 메소드 호출해 생성 - 쿼리문 수행 |
Statement stmt = con.createStatement();
PreparedStatement() 메소드
// (1) PreparedStatement 객체 생성
PreparedStatement pstmt = con.prepareStatement(sql);
// (2) preparedStatement() 메소드 인자로 사용되는 SQL문 - ? 사용
String sql = "INSERT INTO DEPT VALUES(?, ?, ?)";
// (3) 예제
pstmt.setString(1, deptno);
pstmt.setString(2, dname);
pstmt.setString(3, loc);
ResultSet 객체
① executeQuery() : SELECT문 (결과 有)
▶ 반드시 result 타입으로 받아야 함
String str = "select * from employee"; // SQL문
ResultSet rs = stmt.executeQuery(str); // rs Row. SQL문 전송
→ rs.next() : 현재 행에서 한 행 앞으로 이동 (OraSelect2.java -> SQL문 여러 개)
② executeUpdate() : INSERT, UPDATE, DELETE문
(내부적 변화 있으나 결과 X)
▶변경된 행 수를 반환하므로 리턴형이 반드시 Int여야 함
▶ result : 작업에 성공한 갯수
String sql = String.format("Insert Into dept values(%s, '%s','%s')", deptno, dname, loc);
// result : 작업에 성공한 갯수)
int result = stmt.executeUpdate(sql); // 수행
if(result > 0 ) System.out.println("입력 성공 ^ ^");
else System.out.println("입력 실패 T.T");
[JAVA] PL/SQL문 프로시저 실행 (CallableStatement)
170712) Java에서 Oracle 프로시저 실행
** 데이터베이스에서 프로시저(procedure) => 자주 사용하는 SQL 구문을 하나의 이름을 만들어서 사...
blog.naver.com
prepareCall 메서드(SQLServerConnection) - JDBC Driver for SQL Server
prepareCall 메서드(SQLServerConnection)
docs.microsoft.com
Statement VS PreparedStatement

[DataBase] Statement와 Prepared Statement 차이점
SQL문을 실행할 수 있는 객체가장 큰 차이점은 캐시 사용 여부1) 쿼리 문장 분석2) 컴파일3) 실행쿼리문을 수행할 때마다 SQL 실행단계 1~3 단계를 거침SQL 문을 수행하는 과정에서 매번 컴파일을 하
velog.io
PL/SQL
ORACLE
[JAVA] SELECT문 : PL/SQL 테이블 조회
SELECT 칼럼목록
INTO {변수1[,변수2,...] | record_name}
FROM 테이블명
WHERE 조건;
ORACLE
데이터 타입 : 레퍼런스 타입
‘TABLE명.COLUMN명%TYPE’
PL/SQL 프로그램 종류 : Procedure, Function (+Trigger)
① Procedure : 결과값 하나 이상 (DEPT_INSERT, EMP_INFO2)
CREATE [OR REPLACE] PROCEDURE 프로시저명
(argument1 [mode] data_type,
argument2 [mode] data_type
)
IS
로컬변수 선언
BEGIN
선언문1;
선언문2;
...
END;
매개변수 = argument
- IN : 실행환경 → 프로시저로 값 전달.
- OUT : 프로시저 → 실행환경(=자바) 값 전달
- INOUT : 양쪽으로 전달
// 예제 : IN 매개변수 사용하기
CREATE PROCEDURE sp_salary_ename
(v_ename IN employee.ename%type)
IS
v_salary employee.salary%type;
BEGIN
SELECT salary INTO v_salary
FROM employee
WHERE ename = v_ename;
DBMS_OUTPUT.PUT_LINE(v_ename || '의 급여는 ' || v_salary);
END;
② Function : 결과값 반드시 한 개
CREATE [OR REPLACE] FUNCTION 함수명
(argument1 [mode] data_type,
argument2 [mode] data_type...
)
RETURN data_type;
IS
반환될 로컬변수 선언
BEGIN
선언문1;
선언문2;
RETURN 변수명;
END;
그 외 !
생성된 ORACLE 프로시저 실행 방법
PL/SQL문 컴파일 방법
CREATE OR REPLACE : 없으면 만들고 있으면 교체.
ORACLE 함수 생성
반응형