본문 바로가기
반응형

IT/Java394

findBy 쿼리 메서드에서 dto 명칭(underbar, camel case) CRUD repository 에서 제공하는 쿼리 메서드를 사용하게 되면 아마 findById 에 대해서는 들어봤을 것이다. 자세한 사항은 아래 참고 포스팅을 참고 바란다. 그리고 dto 를 사용 하게 될 경우 , 정확히는 entity 를 사용하게 될 경우 변수의 명명 규칙이 있다. 바로 camel case 규칙이다. 자세한 사항은 아래 참고포스팅을 참고 바란다. 쿼리 메서드를 사용하게 되면 예를들어 변수명이 name 일 경우나 className 같은 경우는 findByName / findByNameAndClassName 이런식으로 And 절 나오기 전 까지 구분이 된다. 허나 데이터베이스에서는 camel 케이스 보다는 언더바를 사용하는 snake 케이스를 주로 사용한다. 그러기에 자바 dto 에서는 이것.. 2023. 2. 10.
자바 Timestamp / Date / LocalDate 에서 현재 시간 구하는 방법 오라클에서 작업 시 현재 시간을 sysdate 로 사용을 하는데 오라클 함수를 자바에서 구현해야할 일이 있었고, 해당 변수의 자료형은 Timestamp였다. timestamp를 자바에서 현재로 받는 방법은 아래와 같다. Timestamp timestampName = new Timestamp(System.currentTimeMillis()); 그밖에 시간 변수타입인 Date를 이용해서는 아래와 같다. Date date = new Date (); System.out.println(date.toString()); 또 그밖에 시간 변수타입인 LocalDate를 이용해서는 아래와 같다. LocalDate.now(); 이들의 차이는 아래 참고 포스팅에서 확인할 수 있다. 참고 포스팅 https://thenicesj.. 2023. 2. 9.
[Java] 리스트 내 요소 중복 체크 list를 사용중에 중복된 요소를 체크해야할 일이 생겼다. 물론 반복문을 돌면서 새로운 리스트에 넣어도 되고, 다양한 방법들이 있지만 이전 포스팅에서 다룬 set을 사용하여 좀더 편하게 중복 체크를 하려고 한다. 이전 포스팅인 set과 list에 대한 설명은 아래 참고 포스팅을 참고하길 바란다. list를 set으로 바꿔만 주면 간단하게 해결이 된다. List list = Arrays.asList(1,2,3,4,5,5,5,5); Set set = new HashSet(list); 이렇게만 해주면 set으로 사용하면서 중복된 값을 사용할수 있게된다. 참고 포스팅 https://thenicesj.tistory.com/282 Map, Set, List 에 대해서 이번 포스팅에서는 자바에서 arraylist나 .. 2023. 2. 6.
LOG 란? 로그란? 모든 행위와 이벤트 정보를 시간의 경과에 따라 기록한 데이터 시스템 상에서 "로그" 를 생성하는 과정을 "로깅(Logging)" 이라고 한다. 로깅(logging)의 장점 개발 프로그램의 디버깅 예기치 못한 문제의 원인 파악 시스템 및 사용자의 동작 패턴 분석 해킹(침입)의 비정상 동작의 기록을 감지 분석을 통한 통계화 즉, 모든 것을 기록하고 분석하여 예측하게 해주는 장치라고 할 수 있다. 로깅 라이브러리 종류 로깅 라이브러리는 프로그램을 실행하는 도중에 로그를 남기기 위해 사용되는 유틸리티이다. java.util.logging (jdk8) JDK에 내장된 기본 로깅 라이브러리. JDK 1.4부터 포함된 표준 로깅 API Apache Commons logging Apache 재단의 Common.. 2023. 2. 5.
spring data jpa의 @Query nativeQuery의 IN 절 처리 Query annotation 에서 항상 단건의 변수만 사용을 하다가 리스트로 받아서 in 절에 처리를 해야할 일이 생겼다. 물론 반복문으로 받아서 list를 합쳐도 되지만 좀더 편한 방법이 없을까 하다가 아래 방법을 알게 되었다. 아래와 같이 정의를 하게 되면 리스트를 받아서 쿼리로 in 절로 넣을수 있다. 참고로 객체는 안되고 String이나 integer 등 변수 타입만 가능하다. List findByXXXXXX(@Param("idList") List idlist); 이렇게 선언을 하고 쿼리에서는 아래처럼 사용을 한다. where and id in :idList 2023. 2. 3.
openfeign 이란? 간단하게 소개를 하면 다음과 같다. REST Call을 위해 호출하는 클라이언트를 보다 쉽게 작성할 수 있도록 도와주는 라이브러리 OpenFeign은 동일한 기능을 하는 RestTemplate 대비 interface를 작성하고 annotation을 붙여주면 세부적인 내용 없이 사용할 수 있기 편리한 기능 제공 Timeout 같은 간단한 기능은 Hystrix 연동없이 실패에 대한 Callback 함수 구현 가능 spring-cloud-starter-openfeign 라이브러리 추가로 손쉽게 사용 가능 적용법 1. 먼저 openfeign library 를 추가한다. compile('org.springframework.cloud:spring-cloud-starter-openfeign’) 2. 다음은 main.. 2023. 1. 29.
java eclipse 에서 에러(The method METHOD is undefined for the type ) The method methodname is undefined for the type Type 이라는 에러가 떴다. 아무리 봐도 이상한 부분은 없는데 이런 에러와 함께 빨간 X 박스가 떠있다. 프로젝트는 문제 없으나 IDE 상의 에러라고 판단이 되었다. project 탭에서 clean을 해주면 사라진다. 해당 작업은 프로젝트를 깔끔하게 clean하는것으로 로딩 속도가 좀 걸릴수 있다. 2023. 1. 27.
Tymeleaf 란? '템플릿 엔진'의 일종. html 태그에 속성을 추가해 페이지에 동적으로 값을 추가하거나 처리할 수 있다. 템플릿 엔진이란? 지정된 템플릿 양식과 데이터가 합쳐져 html 문서를 출력하는 소프트웨어. 크게 서버 템플릿 엔진과 클라이언트 템플릿 엔진으로 나뉘는데, 타임리프는 전자에 해당하니 이에 대해서만 간단히 설명하겠다. 서버에서 DB 또는 API 등을 통해 가져온 데이터를 미리 정의된 템플릿에 넣어 html을 그려내 클라이언트에 전달해준다. 즉, html 코드에서 고정적으로 사용되는 부분은 템플릿으로 만들어두고 동적으로 생성되는 부분만 템플릿 특정 장소에 끼워넣는 방식으로 동작할 수 있게 해준다. 템플릿 엔진의 장점 코드 양 ↓ 재사용성 ↑ 유지보수에 용이 여러 서버 템플릿 엔진의 특징 JSP: 스프링.. 2023. 1. 24.
[JASYPT] 프로퍼티 암호화 프로그래밍 개발을 할때엔 다양한 방법의 암호화가 있는데 오늘 다뤄볼 주제는 Java라이브러리인 Jasypt 이다. 발음이 정말 애매하긴한데 나는 자시프트라고 읽곤한다. 공식 홈페이지에 JASYPT 에 대한 설명은 아래와 같다. Jasypt is a java library which allows the developer to add basic encryption capabilities to his/her projects with minimum effort, and without the need of having deep knowledge on how cryptography works. http://www.jasypt.org/ Jasypt: Java simplified encryption - Jasypt: .. 2023. 1. 23.
반응형