본문 바로가기

수업 & 공부

(65)
22- MVC패턴 : 게시판 만들기 - 1 (jstl 태그로 데이터 출력) 데이터 자료구조를 가져와서 어떻게 처리할것인가? BoardListCmd.java 에서 가져온 데이터를 어떻게 jsp파일에서 html 형태로 보여줄 것인가?? 다음을 수행하기 위해 반복문을 사용하려고 하면 JSP 페이지 상단에 JSTL core 선언이 필요하다 우선 jstl태그 pom코드를 아래 사이트에서 가져와 추가해주자 https://mvnrepository.com/artifact/javax.servlet/jstl/1.2 태그 중첩 된 본문 내용을 고정 된 횟수만큼 또는 컬렉션에 반복하는 데 사용되는 반복 태그이다 BoardListCmd의 boardRowList( db데이터 )를 가져와서 foreach문을 돌면서 변수 값을 html로 var : 사용할 변수명 items : collection 객체 (L..
MVC패턴 초기 설정 1. 요청 url 바로잡기 서버포트 뒤에 뜨는 서버이름 jspmvc_war_exploded 를 jspmvc로 바꿔주는 작업 edit config > Deployment > add artifact 후 edit > 원래있던 jspmvc:war.. 을 복사한다 > 이름을 jspmvc로 지정 후 Apply and Ok > Server로 돌아가서 URL : ../jspmvc/ 로 바꿔주기 > 나머지 artifact는 제거해준다 2. pom 설정 세팅 아래 사진처럼 안에 붙여넣기!! 3. .git ignore (여기서 git은 형상관리 시스템이다) 지정 파일의 소스는 바뀌더라도 무시하고 지정을시킨다 jspmvc 밑에 .gitignore 파일을 생성하여 git ignore 코드를 붙여넣자 > sourcetree 에서..
21- 파일 업로드 예제 p312 ~ 321 FileUpload JSP- FileUpload1 p312 ~ 321 FileUpload예제는 총 4개의 .Jsp 파일로 구성되어있다 4개의 Jsp 파일이 어떻게 동작하는지 어떤 역할을 하는지 먼저 알아보자 ( 각 Jsp 파일은 다음 Jsp파일로 request ) 1. End유저의 입력을 받고 dwc04112.tistory.com ( FIleUpload1 의 내용이 많아서 따로 작성함! ) p324 ~ 333 PartUploadForm 15 : action 에서 partUploadPro1을 타고 partUploadPro1.java로 간다 ( partUploadPro1.java 의 @WebServlet에서 partUploadPro1 로 지정해뒀기 때문에 ) >> client 요청을 받는..
20- SQL ( DB트랜잭션 ) 트랜잭션 : 데이터베이스 관리 시스템에서 상호작용의 단위이다 예) jsp 웹 어플리케이션 RDBMS에 날리는 한개의sql문 DBeaver 오토커밋 끄기 1. 윈도우 > 옵션 > 연결유형 auto cummit 설정해제 후 apply 2. set autocommit = false 를 실행하여 autocommit 옵션을 끄자 RDBMS 데이터의 저장공간 2가지로 나뉜다 (임시 저장공간, 확정된 저장공간) (위에서 오토커밋 끈 이유 : 오토커밋을 켜면 임시공간 안쓰고 바로 확정된 저장공간으로 보낸다) commit or rollback 쓰지않은 상태에서는 데이터가 임시저장공간에 있다가 commit or rollback 명령을 내려주면 날라가거나 확정된 저장공간에 확정될 수 있다. 왜 이렇게 하나요 (트랜잭션을 알..
19- SQL ( like ) SQL) like 구문에 사용되는 특수문자 두개 : %, _ 를 알아보자 ' % ' like 구문 특성 문자열 위치에 부합하는 길이 상관 없는 모든 문자열 select * from employees e -- employees 테이블에서 first_name 이 'P'로 시작하는 모든 사람을 찾아주시오 select * from employees where first_name like 'P%' -- employees 테이블에서 first_name 이 'p'로 끝나는 모든 사람을 찾아주시오 select * from employees where first_name like '%p' -- employees 테이블에서 first_name 에 'ur'이 들어가는 모든 사람을 찾아주시오 select * from empl..
18- SQL ( GROUP BY ) group by group by : grouping 해서 나눌 수 있는 기준 칼럼을 가지고 여러 쿼리를 수행함 group by - having 과 where의 차이 having 다시한번 집계해서 뽑아낸 데이터 기준으로 조건을 실행한다 group by - having where 모든 데이터에서 조건을 실행한다 having - 직원별로 지금까지 받은 salary의 총 합이 100만이 넘는 모든 직원을 보여주세요 select s.emp_no , sum(s.salary) as salarySum from salaries s group by emp_no having salarySum >=1000000 where - salary 6만이 넘는 모든 데이터를 출력하시오 select * from salaries s whe..
17- EDR 다대다 매핑과 EQUI JOIN 다대다 매핑 (N : N) 관계형 데이터베이스는 정규화된 테이블 2개로 다대다 관계를 표현할 수 없다. 그런 이유로 중간에 연결 테이블을 추가해서 다대다 관계를 일대일, 다대일 관계로 풀어낸다 여기서 PruchaseOrder(주문) 테이블이 연결 테이블 역할을 한다 ( PruchaseOrder테이블에 두 개의 왜래키(uid, pid) 가 생긴것을 볼 수 있다. ) EDR 코드 DB에서 실행 이전에 만든 테이블들을 DROP시키고 다시 위 사진의 EDR코드를 받아서 실행해보자 (일대일 일대다 EDR을 작성해봤으니 잘 실행했으리라 생각한다!) 각 테이블에 값을 넣어주었다. 이제 어떻게 출력할건지 생각해보자 Equi Join 조건 절에 조인되는 두 테이블의 컬럼을 Equal 연산자(=)로 연결하는 경우이다. 주..
16- EDR 식별관계 (1 : 1) 15- EDR 비식별관계(1 : N) 제약조건 : (raw)데이터의 무결성을 지키기 위해서 무결성? 결성? 결성 : 데이터에 '결함'이 있다 무결성 : 데이터에 '결함'이 없다 비식별관계 비식별관계 (일대 다 관계 / 1 : N) 여기서 1 dwc04112.tistory.com 위 비식별관계의 두 테이블 밑에 테이블을 하나 더 추가해준다 식별관계 식별관계 (일대 일 / 1 : 1) 아래 회원개인정보 테이블을 만들고 식별관계 즉 (1 : 1) 관계를 만들어주었다. 여기서 User = 1 : UserPrivateInfo = 1 이 테이블을 보고 알 수 있는것은, 유저 하나당 하나의 개인정보를 가지고 있는 것이다 식별관계는 단 하나만 들어갈수 있으니 ForeignKey모양이 비식별관계의 ForeignKey와 ..