본문 바로가기

MVC 패턴기반 Model2 방식으로 맛집 게시판 만들기 Ver 0.1 MVC 패턴기반 Model 2 방식 - Controller : 모델과 뷰간의 흐름 제어. 클라이언트로부터의 요청을 받아 이를 수행하기 위한 Model영역의 어떤 로직을 수행할지 결정하고 이를 처리 후, 이 결과를 보여주기 위한 뷰를 선택한다. 이때request.setAttribute("fsVO", fsVO); 와 같이 결과값 속성을 지정해준다. (이를 View인 jsp파일에서 ${fsVO.sname} 와 같이 EL(Expression Language)를 이용하여 데이터를 사용할 것이다.) 웹 브라우저에 처리 결과를 보여주기 위한 jsp파일을 선택한 후, 해당 jsp파일을 forwarding한다.- Model : Controller로부터 요청받고 알맞은 로직 수행 후 (DB관련 작업), 다시 Control..
리스트, 폰트(색, 크기, 체, bold, italicize, align), 배경색 - html 코드 - 결과
게시판 페이징 처리 (oracle DB) 1. 게시판 테이블을 생성한다. 2. 게시판 테이블 tbl_board에 pk_board라는 이름으로 bno를 primary key로 하는 제약조건을 만든다. 3. primary key인 bno의 값에 할당될 sequence 객체를 만들어준다. 4. 게시판 테이블 tbl_board에 첫번째 row 데이터를 삽입한다.이후, 이 삽입된 row를 이용하여 게시판 테이블의 row를 기하급수적으로 삽입한다 5. 이제 페이징 처리를 해주어야 하는데 오라클의 경우는 페이징 처리에 rownum을 활용한다. rownum은 테이블에서 데이터가 출력될 때 붙는 번호라고 이해하면 좋다.rownum은 출력되면서 붙는 번호이기 때문에 어떤 식으로 SQL문이 실행되는지에 따라서 (실행 계획) 붙는 번호가 달라지게 된다. 아래 두가지..
rownum, rowid 1. rownum : where까지를 만족시킨 자료에 붙는 순번 이러한 이유로 ordery by가 추가되면 rownum까지 하나의 record내의 column으로 인식되어 정렬이 일어난다. //select rownum, emp_id, emp_namefrom tempwhere emp_id>0and lev = '수습'and rownum 0and lev = '수습'and rownum 0이고 lev='수습'인 r..
IN과 NOT IN의 함정 1. IN 의 함정-hobby가 null 이거나 '낚시'인 경우를 in을 이용하여 표현하면 다음과 같다. hobby in ( null, '낚시') hobby가 null 이거나 '낚시'인 row들이 선택될 것이라 기대하지만, 결과는 '낚시'인 경우만 선택된다. 왜일까? 위 query를 where문으로 풀어보면 다음과 같다. where hobby = nullor hobby = '낚시' null은 is null 이나 is not null 로 비교되어야 하는데 hobby = null로 비교되었다. 따라서 hobby = null 은 false만 반환하므로 hobby = '낚시' 인 row만 선택되는 것이다. 2. NOT IN 의 함정- hobby가 null 또는 '낚시' 모두에 속하지 않는 경우를 not in을 ..
외부 sql파일 실행시키기 @경로\파일.sql:파일로 저장한 sql쿼리 스크립트를 실행시킴 쿼리 실행 후 temp 테이블이 만들어진 것을 확인할 수 있다.
다른 DB 서버의 테이블에 있는 데이터를 우리 DB 서버로 가져오기 1. 얻어 오고자하는 데이터를 갖고 있는 다른 DB의 서버에 접속한 후, 아래 그림과 같이select문을 이용하여 우리 DB 테이블에 값을 넣을 insert into 문을 만든후 쿼리를 실행한다. 2. 그러면 다음과 같은 쿼리 결과를 얻는다. 3. 그러면 위의 쿼리 결과들을 모두 긁어서 우리의 DB서버쪽 워크시트에 붙여준 후 모든 쿼리를 실행 시켜준다. 4. 그러면 다음과 같은 쿼리 결과( 테이블에 값 넣기 성공)를 볼 수 있다. 5. 이후, 다음과 같이 우리쪽 서버의 DB에 있는 사용자 user16의 테이블 tbl_store의 모든 row들을 출력해보면 다른 서버의 DB에 있는 사용자 team5의 테이블 tbl_store에 있는 모든 row들이 삽입된 것을 확인할 수 있다.
Sequence의 이해 및 활용 간단히 말해서 한 table의 primary key를 지정해주기 위해 시퀀스를 만들어줄 때 사용한다. 이때 한 가지 알아둘 것이 시퀀스의 currval 과 nextval 이다.시퀀스를 생성한 후 한번 nextval을 해주지 않으면 currval을 호출해도 값이 나오지 않고 에러가 발생한다.왜냐하면 자기 세션에 시퀀스 정보가 없기 때문이다.서버에서 받아오는 건 nextval이고 currval은 자신의 메모리에 올라온 것만 보여주게 된다.그래서 nextval을 해서 서버에서 시퀀스 값을 먼저 가져와야 currval을 호출하여 현재 시퀀스 값을 받아올 수 있다. 출처 : http://www.gurubee.net/lecture/1037