전체 글

전체 글

    앞으로

    날짜 쓰는 것은 무의미 한 것 같다. 포스팅하기 애매한 그런 것들이 있는데 공부를 했다고 기록은 하고싶은데 내용이 없으면 좀 이상할 것 같다... 그냥 내용 정리만 간간히 써야겠다. 그리고 포스팅하기 어려운 저작권 관련도 있어서 그런 것은 그냥 비공개로 올려서 하든가 해야겠다!

    2020.06.21-22 JPA(5)

    2020.06.21-22 JPA(5)

    임베디드 타입은 객체안에 타입을 묶어서 보여주는 구조체라고 생각하면 편할 것 같다. city street zipcode 를 Address 라는 임베디드 타입으로 묶었고 그것을 Member.java에서 사용한 것이다. 하지만 위와 같이 Address 타입이 2개면 컬럼명이 겹치니 문제가 생길 것이다. 이를 위해 AttributeOverride를 통해 바꿔줄 수 있다. 그리고 실행시켜주면 바뀐 이름으로 나오고 오리지널 address 이름으로 나온 것을 확인할 수가 있다. member.java의 임베디드 타입 위에는 @Embedded 그 타입에는 @Embeddable를 사용한 것을 확인가능하다. 임베디드 타입은 해당 값 타입만 사용할 수 있는 의미 있는 메서드를 생성할 수 있다. 재사용성이 높고 응집도가 높다..

    2020.06.18 JPA(4)

    2020.06.18 JPA(4)

    출처 - 김영한님의 강의를 보고 정리하였습니다. 이번에는 상속관계를 매핑해볼 것이다. 3가지의 방법이 있다. 1. 조인 전략 2. 단일 테이블 전략 3. 구현 클래스마다 테이블 전략 밑의 album 과 movie 자바 파일이다. Entity는 붙여주고 상위인 Item 을 extends로 상속 받는다. Item class 이다. @Inheritance(strategy=InheritanceType.JOINED) 를 기입하면 조인 방식이 된다. 조인 방식은 위를 목표로 한다. 다음과 같이 new movie 후에 dir act name price를 기입하고 넣는다. 다음과 같이 나오게 된다. DTYPE은 ITEM 테이블에서 밑의 놈들이 누구인지 알려주는 타입인데, 위의 코드를 보면 @DiscriminatorCo..

    2020.06.17 JPA(3)

    2020.06.17 JPA(3)

    maven webapp으로 생성 build path 로 library new servertime 으로 jsp 오류 해결 main 폴더 밑에 java 생성 test 밑에 resources 생성 main resources 밑에 META-INF 폴더 만들고 persistence.xml 생성 pom.xml도 수정 실습 pjt 다음과 같이 생성. 테이블 생성완료. /test 말고 따로 db 명 해서 만들어줌(jpashop으로 해둠) 실습 pjt end Order.java를 보면 id와 memberId가 있다. 실행을 해서 memberId를 가지고 온 다음에 Member에서 이 memberId를 통해 정보를 가지고 오는 것은 객체스럽지 않다. Order안에 그냥 Member를 넣어주면 더 좋을텐데.. 이것을 해결하..

    2020.06.16  JPA(2)

    2020.06.16 JPA(2)

    출처 - 김영한님의 유료강의를 듣고 정리한 글입니다. 영속성 컨텍스트 엔티티를 영구 저장하는 환경 이라는 뜻을 가지고 있다. 엔티티의 생명주기 *비영속(new/transient) 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 *영속(managed) 영속성 컨텍스트에 관리되는 상태 *준영속(detached) 영속성 컨텍스트에 저장되었다가 분리된 상태 *삭제(removed) 삭제된 상태 Member member=new Member(); member.setId("member1"); member.setUsername("회원1"); 은 비영속된 상태에 현재 있다. 이제 이것을 EntityManager em=emf.createEntityManager(); em.getTransaction().begin(); //E..

    2020.06.15  JPA(1)

    2020.06.15 JPA(1)

    스프링 부트를 공부하려던 찰나에 JPA를 공부하게 되었다 객체 지향언어는 아이러니하게 관계DB 와 엮을 때에 객체답게 모델링 할 수록 매핑 작업이 늘어나게 된다. 지난번, mvc 프로젝트를 할 때에 느꼈다. mapper로 bean으로 받아와서 그 값을 꺼내서 다른 곳에 일일이 넣은 다음에 model 로 넘겨주던 일을... 하지만, 이것을 컬렉션에 넣듯이 진행할 수가 있다. sql문을 직접 입력하지 않아도 된다. 객체를 자바 컬렉션에 저장 하듯이 DB에 저장하는 것이다. JPA(Java Persistence API)를 통해서 말이다. JPA는 자바 진영의 ORM 기술 표준이다. ORM 이란 Object Relational Mapping 으로 객체는 객체대로 설계를 하고, 관계형 DB는 관계형 DB대로 설계..

    2020.06.05 백준2352 반도체 설계, ssafy 준비...

    1 2 3 4 5 6 7 8 9 10 11 public static int lower_bound(int []arr,int left,int right,int obj) { int front=left; int rear=right; int mid; while(rear>front) { mid=(front+rear)/2; if(arr[mid] 2 3 > 1 3 > 1 3 5 식으로 변형해 나간다. 1 3 5 로 이렇게 끝나는게 제대로 된 설명을 찾으려해도 없고 이해가 좀 안가긴 한다...중요한 것은 lis 문제는 lowerbound를 이용하자! 를 숙지할 것! 하 안떨렸었는데 하루 전이니깐 떨린다... ct부분이 걱정이다...

    2020.06.01 - mvc 프로젝트 다시하기(完)

    2020.06.01 - mvc 프로젝트 다시하기(完)

    boardcontroller의 /main 이다. page 값을 보내주어서 read 후 수정하기 눌렀을 때에 page를 주어서 수정이 완료되었거나 취소를 눌렀거나 했을 때에 기존의 page로 잘 돌아가게끔 하기 위함이다. 이제 main 화면에서 게시판 별 글을 보고 그것을 클릭하면 갈 수 있도록 하려고 한다. maincontroller를 생성해서 게시판에서 rowbounds 를 이용해 10개의 글을 가지고 왔던 것 처럼 게시판 별로 for문을 돌려서 (4번) 가지고 오려고 한다. 위의 mainService를 보면 다음과 같다. 5개를 content를 가지고온다.(게시판 별로) 그것을 model의 list에 넣어서 main을 호출한다. 넘겨준 list를 forEach 돌린다. varStatus는 현재 반복 ..