전체 글

모르는 내용 및 아는 내용 모두 꼼꼼히 복습하여 익숙해지는 그 날까지 꾸준히 공부하겠습니다.
Web

HTML에서 Checkbox로 여러 개의 값 전달하는 방법 - form과 input 사용법

웹 애플리케이션을 개발하다 보면 checkbox를 통해 동의 여부와 같이 사용자에게 선택을 요구하는 경우가 있습니다.저는 쇼핑몰 사이트를 개발하면서 관리자 입장에서 구매 내역을 관리하면서 결제 여부, 취소 여부, 환불 여부를 관리하는 부분에 있어 헷갈렸던 부분을 기록하고자 합니다.    관리자 구매 내역 수정 "> " alt="상품 이미지" style="width: 30%;"> 상품명 : 구매자 : ..

Web

[JS] javascript 장바구니 기능 구현, Node.js 여러 개의 상품 결제 - form 컬렉션 전송

쇼핑몰과 서점 애플리케이션을 사용하다 보면 장바구니 기능을 볼 수 있습니다. 보통 form 태그를 통해 안에 작성된 input 태그들을 하나의 묶음으로 전송하여 처리하곤 했습니다. 하지만, 장바구니와 같이 form 태그로 묶어서 전달해야 하는 데이터가 1개가 아닌 여러 개 일 때 어떻게 해야 될지 의문이었습니다. 결론 : 1) js 문법을 이용하여 사용자가 (동적) (체크박스)를 선택한 데이터를 확인합니다. 2) 이를 서버에 json 형태로 전달해주고, 서버에서는 json 데이터를 반복문을 통해 DB에 쿼리를 전송합니다. form 태그는 보통 서버에 데이터를 전송할 때 사용합니다. 주로 사용하는 속성으로 action과 method가 있습니다. action은 전송할 서버의 주소를 담고 있습니다. metho..

Web

[JS] Javascript 동적으로 데이터 불러오기, select 태그 사용하여 동적인 웹 사이트 구현

Node.js를 공부하면서 select 태그를 통해 상품을 선택할 때마다 해당하는 데이터의 정보를 동적으로 변경하고 싶었습니다. 데이터의 정보를 조회하기 위해서는 1) 선택된 상품의 pk값을 서버에 전달합니다. 2) 서버 측에서는 pk를 통해 데이터베이스에서 조회합니다. 3) 데이터베이스에서는 요청한 값을 서버로 반환합니다. 4) 서버에서 이를 다시 html에 적용하여 사용자들에게 보여줍니다. 상품 선택: 상품명 : 브랜드 : 가격 : 수량: 결제 장바구니 상품 준비중 select 태그 안에 option 태그는 value로 각 상품의 pk를 가지고 있고 ( list[i].mer_id ), 사용자에게는 상품의 이름 ( list[i].name )을 보여주고 있습니다. 이때 option 태그에서 원하는 데이터..

Spring Framework/JPA

[JPA] JPA 상속 관계 매핑과 @MappedSuperClass 사용하기 - 조인전략, 싱글 테이블, @CreatedDate, @LastModifiedDate

상속관계 매핑 관계형 데이터베이스에는 상속 관계가 없습니다. 객체의 상속 구조와 DB의 슈퍼타입 - 서브타입 관계를 매핑 슈퍼타입-서브타입 논리 모델을 물리 모델로 구현하는 3가지 방법 조인 전략 : 각각 테이블로 변환 단일 테이블 전략 : 통합 테이블로 변환 구현 클래스마다 테이블 전략 : 서브 타입 테이블로 변환 (비추천) 주요 어노테이션 @Inheritance(strategy=InheritanceType.XXX) JOINED : 조인 전략 SINGLE_TABLE : 단일 테이블 전략 TABLE_PER_CLASS : 구현 클래스마다 테이블 전략 슈퍼 타입 엔티티 @DiscriminatorColumn(name=’DTYPE’) 부모 클래스에 선언합니다. 하위 클래스를 구분하는 용도의 컬럼입니다. 관례는 ..

Spring Framework/JPA

[JPA] JPA 페치조인과 DISTINCT - 컬렉션 페치 조인 데이터 중복 문제 해결

다대일 페치 조인 (Member - Team) 다대일 페치 조인을 하게 되면 데이터 중복이 발생하지 않습니다. String jpql = "select m from Member m join fetch m.team"; List members = em.createQuery(jpql, Member.class) .getResultList(); for (Member member : members) { //페치 조인으로 회원과 팀을 함께 조회해서 지연 로딩X System.out.println("username = " + member.getUsername() + ", " + "teamName = " + member.getTeam().name()); } // username = 회원1, teamname = 팀A // u..

Spring Framework/JPA

Spring JPA 양방향 연관관계 매핑: 연관관계 주인 설정과 mappedBy 사용법

목표객체와 테이블 연관관계의 차이 이해객체의 참조와 테이블의 외래 키 매핑 이해단방향, 양방향 이해다중성 : 다대일, 일대다, 다대다 이해연관관계의 주인연관관계가 필요한 이유객체를 테이블에 맞추어 모델링(연관관계가 없는 객체 / 사용 X)@Entity public class Member { @Id @GeneratedValue private Long id; @Column(name = "USERNAME") private String @Column(name = "TEAM_ID") private Long teamId; } @Entity public class Team { @Id @GeneratedValue private Long id; priva..

JAVA

[JAVA] 자바 JUnit5 & AssertJ 테스트 코드 사용법

AssertJ 란 테스트코드를 작성 시, JUnit 보다 더욱 테스트 코드의 가독성과 편의성을 높여 주는 라이브러리이다. 메소드 체이닝을 지원하기 때문에 좀 더 깔끔하고 읽기 쉬운 테스트 코드를 작성할 수 있습니다. 형식 : assertThat(테스트 타겟).메소드1().메소드2().메소드3()’ assertThat() 으로 시작한다. JUnit 5 어노테이션 JUnit5 내용 JUnit4 @Test 테스트 Method임을 선언함. @Test @DisplayName 테스트 클래스 또는 메소드의 사용자 정의 이름을 선언할 때 사용함. @BeforeEach 모든 테스트 실행 전에 실행할 테스트에 사용함. @Before @AfterEach 모든 테스트 실행 후에 실행한 테스트에 사용함. @After @Befo..

JAVA

[JAVA] 자바 enum 클래스 - 열거형, 특정값 매핑 이해하기

자바의 Enum 클래스는 연관된 상수들의 집합을 정의할 수 있는 데이터 유형입니다. Enum 클래스를 통해 관련 있는 상수들을 그룹으로 묶어 표현할 수 있고, 코드를 보다 읽기 쉽게 만들어 줍니다. Enum 특징 1. 열거형으로 선언된 순서에 따라 0부터 index 값을 가집니다. 2. 선언된 상수들은 모두 대문자로 이어야 합니다. 3. 열거형 변수들을 선언한 후 마지막에 세미콜론(;)을 찍지 않습니다. Enum 문법 문법 : public enum Day {MONDAY, TUESDAY, WEDNESDAY ...} 사용법 : Day.MONDAY Enum 메소드 values() : 열거형의 모든 상수를 배열에 담아 반환합니다. ordinal() : 정의된 순서를 정수로 반환합니다. valueOf() : 지정..

kylo
오늘도 열심히 - BE