전체 글
-
컬렉션 프레임웍과 함수형 인터페이스JAVA 2021. 4. 5. 18:03
함수형 인터페이스를 사용하는 컬렉션 프레임웍의 메서드(와일드 카드 생략) 인터페이스 메서드 설명 Collection bollean removeif(Predicate filtter) 조건에 맞는 요소를 삭제 List void replaceAll(UnaryOperator operator 모든 요소를 변환하여 대체 Iterable void forEach(Consumer action) 모든 요소에 작업 action을 수행 Map V compute(K key, BiFunction f) 지정된 키의 값에 작업 f를 수행 V computeIfAbsent(K key, Function f) 키가 없으면, 작업 f 수행 후 추가 V computeIfPresent(K key, BiFunction f) 지정된 키가 있을 때,..
-
인터페이스 Predicate<T>JAVA 2021. 4. 5. 17:09
Predicate ? Predicate input에 대한 result가 boolean으로 나오cate input에 대한 result가 boolean으로 나오는 interface이다. ex) Predicate p = i -> i%2 = 0; result = true or false Predicate의 결합 and() - &&, or() -||, negate() - !로 두 Predicate를 하나로 결합(default 메서드) Predicate p = i -> i i i%2 == 0; Predicate notP = p.negate(); // i >= 100 Predicate all = notP.and(q).or(r..
-
람다식JAVA 2021. 4. 5. 16:39
람다식 특징 1. 함수 (메서드)를 간단한 ' 식'으로 표현하는 방법 2. 익명 함수(이름이 없는 함수 , anonymous function) 메서드를 람다로 바꿀떄 반환타입과 메서드 이름을 지우고 () { 이 사이에 -> 화살표를 넣는다 이름이 없어지기때문에 익명함수라고 말한다. 3.메서드를 간단히 표현하기 위한것. int max(int a, int b){ return a > b ? a: b; // (a,b) -> a > b ? a : b } 함수와 메서드의 차이 - 근본적으로는 동일, 함수는 일반적용어, 메서드는 객치지향 개념 용어이다. - 함수는 클래스에 독립적' - 메서드는 클래스에 종속적 람다식 작성하기 1. 메서드의 이림과 반환타입을 제거하고 '->'를 블록{} 앞에 추가한다. int max3..
-
리눅스 CentOS 환경에서 Oracle 서버 시작 및 종료Database 2021. 4. 5. 11:17
시작 1번 시작 법 [root@myDB]# su -l oracle : oracle 계정으로 변경 [oracle@TestDB]$ lsnrctl : 리스너 연결확인 [oracle@TestDB]$ status : 리스너 상태확인 [oracle@TestDB]$ start : 꺼져있으면 start 2번 시작 법 [root@TestDB]# su -l oracle : oracle 계정으로 변경 [oracle@TestDB]$ sqlplus /nolog : sqlplus 실행 SQL> connect /as sysdba : sysdba 계정으로 접속 SQL> startup : oracle 시작 SQL> exit : sqlplus 종료 [oracle@TestDB]$ lsnrctl start : 리스너 시작 종료 [root@..
-
#QueryDSL - 6 실무활용 <Spring Data JPA와 Querydsl>QueryDSL 2021. 4. 4. 18:03
실무 활용 - 스프링 데이터 JPA와 Querydsl 스프링 데이터 JPA 리포지토리로 변경 스프링 데이터 JPA - MemberRepository 생성 package study.querydsl.repository; import org.springframework.data.jpa.repository.JpaRepository; import study.querydsl.entity.Member; import java.util.List; public interface MemberRepository extends JpaRepository { List findByUsername(String username); } 스프링 데이터 JPA 테스트 package study.querydsl.repository; import..
-
#QueryDSL - 5 실무활용 <순수-JPA와 Querydsl>QueryDSL 2021. 4. 1. 15:51
실무 활용 - 순수 JPA와 Querydsl · 순수 JPA 리포지토리와 Querydsl · 동적쿼리 Builder 적용 · 동적쿼리 Where 적용 · 조회 API 컨트롤러 개발 순수 JPA 리포지토리와 Querydsl 순수 JPA 리포지토리 package study.querydsl.repository; import com.querydsl.core.BooleanBuilder; import com.querydsl.core.types.dsl.BooleanExpression; import com.querydsl.jpa.impl.JPAQueryFactory; import org.springframework.stereotype.Repository; import study.querydsl.dto.MemberSea..
-
#QueryDSL - 4 중급 문법카테고리 없음 2021. 4. 1. 11:55
중급 문법 프로젝션과 결과 반환 - 기본 프로젝션: select 대상 지정 프로젝션 대상이 하나 List result = queryFactory .select(member.username) .from(member) .fetch(); · 프로젝션 대상이 하나면 타입을 명확하게 지정할 수 있음 · 프로젝션 대상이 둘 이상이면 튜플이나 DTO로 조회 튜플 조회 프로젝션 대상이 둘 이상일 때 사용 com.querydsl.core.Tuple List result = queryFactory .select(member.username, member.age) .from(member) .fetch(); for (Tuple tuple : result) { String username = tuple.get(member.us..
-
#QueryDSL -3 - 기본문법 - Case문 / 상수,문자 더하기QueryDSL 2021. 3. 30. 14:41
Case 문 select, 조건절(where), order by에서 사용 가능 단순한 조건 List result = queryFactory .select(member.age .when(10).then("열살") .when(20).then("스무살") .otherwise("기타")) .from(member) .fetch(); 복잡한 조건 List result = queryFactory .select(new CaseBuilder() .when(member.age.between(0, 20)).then("0~20살") .when(member.age.between(21, 30)).then("21~30살") .otherwise("기타")) .from(member) .fetch(); orderBy에서 Case 문 함..