서블릿의 데이터베이스 연동①에서는 회원 정보를 조회하기 위해 MemberDAO에서 Statement 인터페이스를 이용하여 데이터 베이스와 연동하였는데, Statement를 이용하면 연동할 때마다 DBMS에서 다시 SQL문을 컴파일해야 하므로 속도가 느린 단점이 있다. 그래서 PrepareStatement 인터페이스를 사용하여 SQL문을 미리 컴파일해서 재사용하게 함으로써 Statement 인터페이스보다 훨씬 빠르게 데이터베이스 작업을 수행할 수 있다. MemberDAO 클래스 수정 package sec01.ex01; import java.sql.Connection; import java.sql.Date; import java.sql.DriverManager; import java.sql.PreparedS..

SQL Developer에서 회원 테이블과 회원정보 생성 commit 하는 것을 잊지말자!! ※오라클 데이커베이스와 연동하는데 필요한 드라이버인 ojdbc6.jar를 프로젝트의 /WebContent/WEB-INFO/lib 폴더에 복사하여 붙여 넣습니다. 실습 파일 위치 pro01/src/sec01.ex01/MemberServlet.java package sec01.ex01; import java.io.IOException; import java.io.PrintWriter; import java.util.Date; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; im..

태그 이용해 서블릿에 요청하기 - 사용자 정보를 입력받을 login.html(pro01/WebContent/login.html) 아이디 : 비밀번호 : 서블릿에서 클라이언트의 요청 1. 태그로 전송된 정보를 LoginServlet에서 HttpServletRequest 클래스의 getParameter() 메서드로 전송된 ID와 비밀번호를 받아옴.(pro01/src/Day190810/LoginServlet.java) package Day190810; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServl..
--조인:테이블 간에 동일한 컬럼들을 연결시켜서 통합된 정보를 추출하는 방법 --Main Table 판단 -> 가상의 Table --Main Table을 기준으로 모든 Key Join --상품에 대한 공급업체 정보를 함께 추출 SELECT * FROM vendors, products WHERE vendors.vend_id = products.vend_id; --ANSI SQL - 내부 조인 SELECT vend_name, prod_name, prod_price FROM vendors INNER JOIN products ON vendors.vend_id = products.vend_id; --여러 테이블 조인 --상품에 대한 공급업체 정보와 주문수량까지 추출 SELECT vend_name, prod_nam..
--IN절 안에 하위쿼리 사용하기 --하위쿼리를 먼저 실행하여 결과를 추출하고 그 결과를 바탕으로 메인 쿼리를 실행한다. --상품번호가 RGAN01인 상품을 주문한 고객ID 추출 SELECT cust_id FROM orders WHERE order_num IN ( SELECT order_num FROM orderitems WHERE prod_id = 'RGAN01' ); --하위쿼리 안에 하위쿼리 사용 --상품번호가 RGAN01인 상품을 주문한 고객의 이름과 연락처 추출 SELECT cust_name, cust_contact FROM customers WHERE cust_id IN ( SELECT cust_id FROM orders WHERE order_num IN( SELECT order_num FRO..

집계함수 --AVG(): NULL 값이 있는 경우 계산에서 제외된다 --Products 테이블에 있는 모든제품의 가격평균 SELECT AVG(prod_price) AS avg_price FROM products; --DLL01의 공급업체에 대한 제품 평균 SELECT AVG(prod_price) AS avg_price FROM products WHERE vend_id = 'DLL01'; --COUNT() --COUNT(*): 테이블의 모든 행의 개수, NULL값 포함 --COUNT(컬럼): 컬럼의 NULL값을 제외한 행의 개수 --Customers 테이블에 있는 모든 고객의 수 SELECT COUNT(*) as num_cust FROM customers; --cust_email 열에 값이 있는 고객의 수..

데이터 조작함수 사용하기 텍스트 제어함수 --공급업체이름의 길이 SELECT vend_id, LENGTH(TRIM(vend_name)) FROM vendors; --공급업체 주소를 소문자 of 대문자로 SELECT vend_id, LOWER(vend_address), UPPER(vend_address) FROM vendors; --문자 자르기 SELECT vend_id, vend_address, SUBSTR(vend_address, 1, 3), SUBSTR(vend_address, 4) FROM vendors; --문자 대체하기 SELECT vend_id, vend_address, REPLACE(vend_address, 'Street', 'Road') FROM vendors; --NULL이 아닌 첫번째 ..

자바 웹을 다루는 기술(실무에서 알아야 할 기술은 따로있다!) 책을 참고하였습니다. Oralcle Database 11g Express Edition 설치(Oracle DBMS 설치) 1. 설치 링크 https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 2. 스크롤을 내려 Oracle Database 11g Express Edition 선택 3. Accept License Agreement 체크 후 자신의 컴퓨터 운영체제에 맞는 프로그램 Download 4. 오라클 계정 로그인(계정이 없다면 계정 만들기 클릭) 5. 설치 파일 다운로드 후 압축 풀어 Install 6. 설치를 마쳤으면 오라클에 관리자 계정으로..