[Jsp] 이클립스로 오라클에 값 입력하고 출력하기(커넥션풀)

이클립스에서 준 값으로 오라클에 값을 넣고(insert) 값을 출력(select)하는 방법을 한번 알아보도록 하겠습니다. 이클립스에서 오라클 데이터베이스에 접근을 하기 위해서는 커넥션 풀 방식을 자주 사용합니다. 커넥션 풀(Connection)이란 객체를 여러 개 생성하여 풀에 담아놓고 필요할때마다 꺼내는 방식입니다.

 

커넥션 풀의 사용 이유

JDBC를 통해 DB에 연결하기 위해서는 DB드라이버를 로드하고 커넥션 객체를 받아와야 합니다.

하지만 DB에 연결할 때마다 매번 커넥션을 생성하고 드라이버도 로드하려고 하면 굉장히 귀찮고 메모리도 많이 먹을 거예요. 

(굉장히 비효율적인 코드가 되어버리고 말 것입니다.)

하지만 커넥션 풀을 사용하면 하나의 커넥션을 돌려가면서 사용하기 때문에 이런 비효율적인 작업이 없어지게 됩니다.

 

이클립스로 오라클에 값 입력하고 출력하기

예제를 통해서 알아보도록 하겠습니다.

먼저 오라클(데이터베이스)에 값을 넣는(Insert) 부분입니다.

<%@page import="javax.naming.*"%>
<%@page import="java.sql.*" %>
<%@page import="javax.sql.*" %>
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<%
Connection conn = null;
String sql = "INSERT INTO student10(num,name) VALUES(?,?)"; //쿼리문 = 자신이 값을 넣고 싶은 테이블과 칼럼명을 써주세요
try{
   Context init = new InitialContext();
   DataSource ds = (DataSource)init.lookup("java:comp/env/jdbc/OracleDB");
   conn = ds.getConnection();
   PreparedStatement stmt = conn.prepareStatement(sql);
       
   String[] arr=new String[]{"html","javascript","jsp","oracle"};
       
   for(int i=1;i<=4;i++){
      stmt.setInt(1,i);
      stmt.setString(2,arr[i-1]);
             
      if(stmt.executeUpdate() !=0){
        out.println("<h1>"+i+"번 레코드를 등록하였다.</h1>");
      }
   }
}catch(Exception e){
   out.println("<h3>등록 실패</h3>");
   e.printStackTrace();
 }
%>   
 
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
<body>
</body>

 

오라클(데이터베이스)에 있는 값을 찾아와 출력(select)하는 부분입니다.

<%@page import="javax.naming.*"%>
<%@page import="java.sql.*" %>
<%@page import="javax.sql.*" %>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%
   Connection conn = null;
   String sql = "select * from student10";
   try{
      Context init = new InitialContext();
      DataSource ds = (DataSource)init.lookup("java:comp/env/jdbc/OracleDB");
      conn = ds.getConnection();
      PreparedStatement stmt = conn.prepareStatement(sql);
      ResultSet rs = stmt.executeQuery();
       
      while(rs.next()){
          out.println("<h3>"+rs.getInt(1)+","+rs.getString(2)+"</h3>");
      }
      rs.close();

   }catch(Exception e){
      out.println("<h3>가져오는데 실패했습니다.</h3>");
      e.printStackTrace();
   }
%>   
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
<body>
</body>

이상으로 간단하게 이클립스에서 오라클 데이터베이스에 값을 추가하고 값을 출력하는 예제를 진행해보았습니다.

댓글

Designed by JB FACTORY