java13 [Java] Optional이란?? Java 8부터 도입된 Optional은 NullPointerException을 방지하고 명시적으로 null 가능성을 표현할 수 있도록 도와주는 컨테이너 클래스입니다. Optional을 사용하면 null 체크를 보다 선언적으로 처리할 수 있습니다.✅ Optional의 바람직한 사용 예public Optional getUserEmail(Long userId) { User user = userRepository.findById(userId); return Optional.ofNullable(user.getEmail());}Optional.ofNullable()을 통해 null이 될 수 있는 값을 안전하게 감쌉니다.클라이언트 코드에서는 isPresent(), ifPresent(), orElse() .. 2025. 5. 23. [Java] List Grouping 하는 방법 작업을 하다보면 DB검색 시 Group를 묶어서 조회하는 경우도 있지만 서비스에서 Grouping을 사용해야 할 경우도 있다. List Grouping 하는 방법.Person이라는 Object리스트를 성별, 도시별로 그룹핑한다고 가정할 시... 객체 정의public class Person { private String name; private String sex; // "남성", "여성" private String city; // 생성자 public Person(String name, String sex, String city) { this.name = name; this.sex = sex; this.city = city; } .. 2025. 2. 10. Spring - MySQL 대량의 데이터 삭제하는 법(batch) Spring 프로젝트를 하던 중 테이블의 1000만건 이상의 데이터를 삭제해야 하는 상황이 있었다. 처음에는 1000만 건의 데이터를 DELETE query 한번으로 했으나,이렇게 되면 인덱스가 잡혀있더라도 삭제 - 재인덱싱하는데 100초이상의 시간이 걸렸다. (컬럼 길이에 따라 다르겠지만..) 그래서 삭제 주기를 늘리는 대신 일정 단위만큼 나눠서 삭제하는 방법을 선택했다. 1. MySQL 프로시저를 통해 삭제하는 방법SET @batch_size = 1000; -- 배치 크기 설정REPEAT DELETE FROM your_table WHERE your_index_column IN ( SELECT your_index_column FROM your_table .. 2025. 2. 9. XML to JSON 변환하기 (java) open API 사용 중 데이터를 XML를 리턴해 주는 경우가 있습니다. 서버사이드에서 XML을 JSON으로 파싱하여 넘겨 주기 위한 방법 입니다. 우선 필요한 dependency를 추가합니다. org.json commons-io //gradle의 경우 url을 읽어 String에 넣는 code String urlStr = "api_url"; URL url = new URL(urlStr); BufferedReader bf; bf = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8")); String result = bf.readLine(); xmlToJson(result); xml을 Json으로 파싱하는 code public void .. 2021. 6. 8. 이전 1 2 3 4 다음 반응형