어제 배운 내용 요약 1. DAO 2. DML(insert, delete, update - 트랜잭션) 트랜잭션은 반드시! 종료처리를 별도로 해야 한다. 종료하는 방법 1. 확정종료 : 트랜잭션이 종료된다. - 작업의 결과가 확정된다.(commit) 2. 취소종료 : 트랜잭션이 종료된다. - 작업의 결과가 취소된다.(rollback) 예) insert insert insert 확정종료 결과 앞에 세건의 insert는 다른 사용자에게 보인다.
언제 트랜잭션을 종료(확정,취소)할지는 본인이 정한다. 예) 100 건의 데이터를 삽입한다고 가정한다. A작업자 : insert를 50번하고 확정종로 insert 50번하고 확정종료 B작업자 : insert를 10번하고 확정종료 insert를 10번하고 확정종료 insert를 10번하고 확정종료....
sqlplus를 종료하는 방법 1. exit 명령어를 입력한다. - 정상종료 - commit 2. 명령창의 x를 누른다. - 비정상종료 - rollback
class를 설계하는 기준 : SRP(단일 책임의 원칙) -> class는 하나의 책임만 갖도록 설계한다. 서블릿의 책임 : JSP와 연동(파라미터 수신, 페이지 전환) DTO(Data Transfer Object)의 책임 : 데이터 보관 새 클래스(Data Access Object)의 책임 : DB와 연동 새 클래스 : A 책임 새 클래스 : B 책임 새 클래스 : C 책임
서블릿 프로젝트의 구성 서블릿, DTO, DAO, DB, JSP
오라클의 15개 SQL 중
트랜잭션(transaction)에 해당 트랜잭션에 해당하지 않음 insert,delete,update 나머지
트랜잭션:작업 작업 즉, 트랜잭션은 시작과 끝이 존재한다. 반드시 작업종료 명령어로 작업을 종료해야한다. 작업시작---------------------작업종료
기존의 테이블 : 사원정보테이블(employees),부서정보테이블(departments), 위치정보테이블(locations) 위의 기존의 테이블에는 이미 PK가 설정되어 있기 때문에, 삽입,삭제,변경 연습을 마음대로 할 수 없다. 그래서, DML(삽입,삭제,변경) 연습용으로 깡통 테이블을 만든 후에, 이 테이블을 대상으로 DML 연습을 한다.
테이블을 만들기 위해서는 테이블 이름이 필요하다. 또한, 테이블의 항목 이름과 데이터 타입이 필요하다.
홍길동 사원 정보를 sawon_tbl 테이블에 삽입 insert into sawon_tbl(sawon_id,sawon_name,sawon_tel, sawon_gender,sawon_addr,sawon_salary,sawon_hire_date) values(100, '홍길동','010-1234-4582','남', '서울시 송파구',3000000, sysdate);
없는 데이터를 삽입하는 두가지 방법 1. 항목이름을 쓰지 않는다. insert into sawon_tbl(sawon_id, sawon_name, sawon_gender, sawon_hire_date) values(101, '김길동','남',sysdate);
2. 해당 순서의 데이터에 null을 작성한다. insert into sawon_tbl values(102,'오길동','010-5321-4822','남',null,null,sysdate);
특정날짜로 최길동 사원의 사원정보를 삽입
insert into sawon_tbl values(104,'최길동','010-9458-1622','남','서울시 강남구', 3000000,to_date('24/01/05','YY/MM/DD'));
최길동 사원의 전화번호를 010-4833-9823로 변경 update sawon_tbl set sawon_tel = '010-4833-9823' where sawon_id = 104; 최길동 사원의 주소를 '서울시 송파구'로, 월급을 3500000로 변경 update sawon_tbl set sawon_addr = '서울시 송파구', sawon_salary = 3500000 where sawon_id = 104;