21.02.04

민주·2021년 2월 4일
0

[DataBase]

- 데이터베이스는 데이터를 영구적으로 저장할 수 있는 저장소이다.
- 데이터베이스를 이용하면 서로 다른 시스템간에 데이터를 공유할 수 있다.
- 데이터베이스를 관리하는 시스텐을 DBMS(Data Base Management System)라고 한다.
- ORACLE, MySql, No-Sql등이 존재한다.

[DataBase - JDBC]

1. JAVA와 DB연결
- JAVA와 DB 연결을위해 필요한것
  1. JAVA와 DB 연결 프로그래밍
  2. DB쿼리 실행 프로그래밍
  3. DB쿼리 반환 값 추출 프로그래밍
- 위의 내용을 모두 수행해줄 수 있는 JDBC(Java Data Base Connectivity)가 필요하다.
- 라이브러리 파일을 다운로드받아서 WebContent/WEB-INF/lib에 추가해주면 된다.

2. DB에 접속과정
- DB에 접속해서 Data를 꺼내 온다는 것은 창고에서 물건을 꺼내오는 것과 같다.
- Connection 객체는 DB에서 하는 모든 일을 대신 DB에 접속해서 수행 해준다.
1) Driver Manager호출 ( 창고 출입 양식 받음 )
2) DM에게 id,pw,url알려줌 ( 위치와 창고를 여는 정보를 적음 )
3) Connection생성 ( 창고직원에게 전달 )
- Connection이 없으면 DB에 접근 불가
4) 필요한일을 실행한후 (창고직원이 일 처리 후)
5) Connection 종료 ( 문닫고 나온다.)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
	/*DB연결 작업*/
	//1. 데이터에 접속할 정보 준비
	String id = "C##web_user";
	String pw = "pass";
	String url = "jdbc:oracle:thin:@localhost:1521:xe"; //사용하는 DB에 따라 달라짐
	
	//2. 사용하는 드라이버 불러오기
	String driver ="oracle.jdbc.driver.OracleDriver";//사용하는 DB에 따라 달라짐
	Class.forName(driver);
	
	//3. 드라이버매니저를 불러와 커넥션 가져옴(커넥션생성)
	Connection conn = null;
	conn = DriverManager.getConnection(url,id,pw);
	System.out.println("conn : " + conn);
	//4. 커넥션으로 쿼리문 실행하기...(생략)
	//5. 자원 종료
	conn.close();
%>
- JDBC를 활용하여 DBMS와 연결
1) DB 접속 정보를 준비한다.
2) 사용하는 라이브러리 드라이버를 불러온다.
3) 드라이버매니저를 불러와 커넥션을 가져와서 접속 정보를 준다.
- 드라이버 매니저가 성공하면 커넥션 객체가 생성, 실패하면 그냥 null
4) 커넥션으로 쿼리문 실행
5) 자원종료 ( 필수 !! )

[DataBase - Connection Pool]

- Connection Pool을 사용하면 Connection을 조금 더 효율적으로 사용할 수 있다.
- Connection Pool을 사용하기위해서는 몇가지 작업이 필요하다.
- servers->tomcat->context.xml에 Resource 속성추가
<Resource
    	name="jdbc/Oracle"
    	auth="Container" //권한은 톰캣이가지고있다.
    	type="javax.sql.DataSource"
    	driverClassName="oracle.jdbc.driver.OracleDriver"
    	url= "jdbc:oracle:thin:@localhost:1521:xe"
    	username= "C##web_user"
    	password="pass"
/>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
	/*DB연결 작업*/
	//1. context.xml을 객체로 가져온다.
    	Context ctx = new InitialContext();
	//1-1. context.xml -> java의 객체 형태로(DataSource형태)
	DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/Oracle"); 

	//2. DataSource를 통해서 Connection가져오기
	//만약에 드라이버 매니저가 성공하면 커넥션 객체가 생성, 실패하면 그냥 null
	Connection conn = null;
	conn = ds.getConnection();
	System.out.println("conn : " + conn);
	
	//3. 커넥션으로 쿼리문 실행하기...(생략)
	//4. 자원 종료
	conn.close();
%>
- Connection Pool을 활용하여 DBMS와 연결하기
1) context.xml을 객체로 가져온다.
1-1) context.xml을 java의 객체형태로 가져오는데 이름이 jdbc/Oracle인 태그를 가져온다.
- env까지는 기본으로 넣어줘야하는거 뒤에는 이름, 괄호안에 내용으로 resource를 찾음
2) 2. DataSource를 통해 가져온 정보를 이용해서 Connection 생성.
3) connection으로 쿼리문 실행하기
4) 자원종료
profile
개발이좋아요

0개의 댓글

관련 채용 정보