ruinak_4127.log
로그인
ruinak_4127.log
로그인
07-02 Security
Ruinak
·
2021년 7월 2일
팔로우
0
SpringLesson
0
Spring Lesson
목록 보기
21/23
삭제 버튼
list.jsp에서 삭제버튼을 활성화하기
앞에서 사용했던 삭제하기는 적용이 되지 않음
클릭시 정상 작동은 됨
페이지 소스를 보면 삭제 버튼이 여러개임을 알 수 있음
그러므로 다름을 식별하기 위해서 id를 받아야 함
${member.id}를 onclick 속성으로 추가해줌
alert 창에서 해당 번호가 뜨는걸 확인할 수 있음
delete가 작동할 수 있게 코드 수정
삭제하기의 방법은 여러가지로 onclick으로 사용하거나 class로 설정해서 사용 가능
이 영역에서 버튼이 클릭이되면 함수가 실행됨
삭제를 할 수 있는 방법은 매우 다양하다
Builder
Test라는 이름의 새로운 Java 프로젝트 생성
User 클래스 생성 후 작성
UserBuilder 클래스 생성 후 작성
User 클래스에 static 메서드 추가
static으로 선언되면 클래스이름으로 접근이 가능해짐
User 객체 생성
.연산을 이용해서 연속적으로 이어 붙여 넣을 수 있음
결과 확인
새로운 객체를하나 더 만들 수 있음
userBuilder 만드는 걸 스킵해줌
Test만 만들어서 실행하면 잘 실행이됨
테이블간의 관계
리뷰와 호텔의 N:1 연관
Hotel 클래스 작성
@Entity를 클래스에 달아줘야만 MySQL에서 테이블이 생성됨
@Id를 달아주고, @GeneratedValue(strategy = GenerationType.IDENTITY)를 달아주면 AI가 적용됨
Enum으로 Grade를 생성
Address 클래스를 따로 생성
Hotel에서 Grade와 Address를 작성해줌
Review 클래스 작성
@Table(name="hotel_review")를 붙여주면 MySQL에 들어가는 테이블의 이름을 변경해서 지정 가능
@JoinColumn(name="hotel_id")를 통해서 테이블끼리 조인시킬때의 Column 이름도 지정 가능
호텔입장에서는 게시글이 여러개 들어갈 수 있음(1:N의 관계). 그러므로 ManyToOne
Hotel은 Review와 정반대이므로 OneToMany가 됨
외래키가 설정된 것들이 주된 녀석이므로 Hotel 클래스에 @JoinColumn(name="hotel_id") 추가
id의 자료형을 Long형으로 변경
cascade 추가해주기
boot를 실행 시키면 MySQL에 테이블이 생성됨
Database -> Reverse Engineer에서 Diagram 생성 가능
User 클래스 작성( Hotel처럼 작성하면 됨 )
LAZY는 실행시점에 조인을 하므로 영속성컨텍스트에 들어갈 수 없는 경우에는 트랜잭션이 풀릴수도 있음
추가적으로 부하가 많이 걸려 부담스러울 수 있음
fetch 조인을 해서 필요할 때 LAZY를 사용함
EAGER는 생성시에 바로 조인을 함
JoinColumn은 연관관계를 맺어줌
mappedBy는 " " 안의 객체를( 아니 객체이름이었음 ㅋㅋ) 참조하게 만듬
새로운 프로젝트 demo3 생성
게시판과 부트 만들었던거를 boot로 만들어볼 예정
프로젝트 새로 만들기
pom.xml에 jasper랑 jstl 추가
domain이란 용어랑 model이랑 vo랑 다 같은 의미임
패키지와 폴더 생성
Board 클래스 생성
@Temporal(TemporalType.TIMESTAMP)를 사용해서 현재시간으로 설정이 가능함
Comment 클래스 생성
home.jsp 만들고 HomeController를 만들어서 웹이 잘 돌아가는지 확인
Ruinak
Nil Desperandum <절대 절망하지 마라>
팔로우
이전 포스트
07-01 Security
다음 포스트
07-05 Security
0개의 댓글
댓글 작성