자바에서 오라클을 활용하는 작업을 하기 위해선 위와 같이 lib에 jar파일을 넣어줄 필요가 있다.
Statement를 활용하는 방식. 입력해야 하는 값이 노출이 되기 때문에 보안성이 떨어진다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import ="java.sql.*" %>
<%@ page import ="javax.sql.*" %>
<%@ page import ="javax.naming.*" %>
<%
Connection conn = null;
String sql="INSERT INTO student (num, name) Values (6,'hh')";
try{
Context init = new InitialContext();
DataSource ds = (DataSource) init.lookup("java:comp/env/jdbc/OracleDB");
conn = ds.getConnection();
Statement stmt = conn.createStatement();
int result =stmt.executeUpdate(sql);
if(result!=0){
out.println("success");
}
}catch(Exception e){
out.println("fail");
e.printStackTrace();
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
</body>
</html>
preparedStatement를 활용하는 방식. 입력되는 값들을 은밀하게 처리할 수 있어서 보안성이 statement방식에 비해 뛰어남.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%
Connection conn = null;
String sql = "INSERT INTO student (num, name) Values (?,?)"; //?는 나중에 채울것.
String []name = {"syc","ssk","kjw","sss"};
try {
Context init = new InitialContext();
DataSource ds = (DataSource) init.lookup("java:comp/env/jdbc/OracleDB");
conn = ds.getConnection(); //풀방식
PreparedStatement stmt = conn.prepareStatement(sql);
for (int i = 20; i <= 23; i++) {
stmt.setInt(1, i);
stmt.setString(2, name[i-20]);
if (stmt.executeUpdate()!=0) {
}
}
} catch (Exception e) {
out.println("fail");
e.printStackTrace();
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
</body>
</html>
이클립스에서 java를 이용하여 Oracle을 사용할 때 sql 명령어는 오라클에서 사용하는것과 동일하다. 그외에 sql로 변동시킬 데이터를 입력하거나 불러오는 등 대부분의 기능은 api형태로 지원하기 때문에 여기에 익숙해질 필요가 있다.
'빅데이터교육과정 > DB' 카테고리의 다른 글
DAY 4. MVC2 패턴 - 1 (0) | 2021.03.17 |
---|---|
DAY 3. DB를 활용한 로그인, 회원가입, 회원관리 (0) | 2021.03.17 |
DAY 1. SQL Development 계정생성 (cmd, sql devel) (0) | 2021.03.11 |
DAY 1. Oracle 설치 및 삭제(Window10 Pro, 20H2)-Universal Installer, deinstall.bat 미사용 (0) | 2021.03.11 |