- Java DataBase Connectivity
- 자바에서 데이터베이스에 접속/관리할 수 있게
해주는 드라이버(API)- 자바로 작성된 프로그램으로 DB와 관련된 작업을
처리할 수 있도록 제공되는 기능(코드)들을 모아놓은 것
- Oracle jdbc
- 오라클에서 제공하는 오라클 DB를 관리할 수 있또록
도와주는 JDBC
jdbc_test.jsp
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
Connection conn = null;
// 활용할 드라이버
String driver = "oracle.jdbc.driver.OracleDriver";
// 목적지(Oracle DB)
String url = "jdbc:oracle:thin:@localhost:1521:xe";
// dbms 계정명
String user = "jsp";
// dbms 비밀번호
String password = "jsp";
int check = 0;
try{
Class.forName(driver);
System.out.println("jdbc driver 로딩 성공");
conn = DriverManager.getConnection(url, user, password);
System.out.println("오라클 연결 성공!!");
String sql
= "INSERT INTO CAR VALUES ('4', 'K7', 'white',70000000)";
PreparedStatement pstm = conn.prepareStatement(sql);
check = pstm.executeUpdate();
System.out.println("check : " + check);
if ( check != 0) {
System.out.println("데이터 삽입 성공");
} else {
System.out.println("데이터 삽입 실패!");
}
} catch(Exception e){
System.out.println("예외발생");
e.printStackTrace();
}
%>
</body>
</html>
결과값
carnum 4번이 추가되는 모습이다.
예외발생 경우는 이클립스 콘솔창에 뜬다.
jdbc_test2.jsp
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
Connection conn = null;
// 활용할 드라이버
String driver = "oracle.jdbc.driver.OracleDriver";
// 목적지(Oracle DB)
String url = "jdbc:oracle:thin:@localhost:1521:xe";
// dbms 계정명
String user = "jsp";
// dbms 비밀번호
String password = "jsp";
Class.forName(driver);
conn = DriverManager.getConnection(url, user, password);
String sql = "select sysdate from dual"; // 현재 서버
PreparedStatement pstm = conn.prepareStatement(sql);
ResultSet rs = pstm.executeQuery();
while (rs.next()){
out.print(rs.getDate(1)); // 2023-03-21
}
%>
<%-- <%=conn %> --%>
</body>
</html>
결과값
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
Connection conn = null;
// 활용할 드라이버
String driver = "oracle.jdbc.driver.OracleDriver";
// 목적지(Oracle DB)
String url = "jdbc:oracle:thin:@localhost:1521:xe";
// dbms 계정명
String user = "jsp";
// dbms 비밀번호
String password = "jsp";
Class.forName(driver);
conn = DriverManager.getConnection(url, user, password);
String sql = "select * from car"; // 현재 서버
PreparedStatement pstm = conn.prepareStatement(sql);
ResultSet rs = pstm.executeQuery();
while (rs.next()){
out.print("차 번호 : " + rs.getString(1) + "<br/>");
out.print("브랜드 : " + rs.getString("BRAND") + "<br/>");
out.print("색상 : " + rs.getString(3) + "<br/>");
out.print("가격 : " + rs.getInt("PRICE") + "원<br/>");
}
out.print("<br><hr>");
String carnum = "2";
//sql = "select * from car where carnum='" + carnum + "'";
sql = "select color from car where carnum=?";
pstm = conn.prepareStatement(sql);
pstm.setString(1, carnum);
rs = pstm.executeQuery();
if(rs.next()){
out.print("색깔 : " + rs.getString(1));
}
rs.close();
pstm.close();
conn.close();
%>
<%-- <%=conn %> --%>
</body>
</html>
결과값
DBconnection.java
package com.codingbox.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBconnection {
public static Connection getConnection() {
Connection conn = null;
try {
// 활용할 드라이버
String driver = "oracle.jdbc.driver.OracleDriver";
// 목적지(Oracle DB)
String url = "jdbc:oracle:thin:@localhost:1521:xe";
// dbms 계정명
String user = "jsp";
// dbms 비밀번호
String password = "jsp";
Class.forName(driver);
conn = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
System.out.println("드라이버 로딩 오류");
e.printStackTrace();
} catch (ClassNotFoundException e) {
System.out.println("DB 접속 오류");
e.printStackTrace();
} catch (Exception e) {
System.out.println("알 수 없는 에러");
e.printStackTrace();
}
return conn;
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<jsp:useBean class="com.codingbox.vo.MemberBean" id="member"></jsp:useBean>
<jsp:setProperty property="name" name="member" value="김자바"/>
<jsp:setProperty property="age" name="member" value="22"/>
<table border="1">
<tr>
<th>이름</th>
<th>나이</th>
</tr>
<tr>
<td>
<jsp:getProperty property="name" name="member"/>
</td>
<td>
<jsp:getProperty property="age" name="member"/>
</td>
</tr>
</table>
</body>
</html>
결과값