목록STUDY/JAVA | SPRING (15)
Developer N
서로 다른테이블에서 조회하여 가져온 리스트 두개가 있다.각 리스트를 합친 다음 작성일자 순으로 정렬을 해서 화면단에 노출시켜야 했다. 처음에는 union으로 한번에 데이터를 조회한 다음 정렬하여 가져왔으나,쿼리를 계속 고치다보니 비효율적이라는 생각이 들어각각 데이터를 가져온 뒤 java단에서 stream으로 합치는 방법으로 수정해보았다. 코드는 다음과 같다. List allList = new ArrayList();allList.addAll(aList);allList.addAll(bList);allList.stream().sorted(Comparator.comparing(AbcDTO::getDate).reversed()) .collect(Collectors.toList())); 리스트 두개를 allL..
gradle 프로젝트 작업중 한 라이브러리를 추가해야하는 일이 생겼다. 보통은 라이브러리를 가져오는 repository가 기본으로 Maven Repository를 바라보기 때문에 Maven Repository 사이트에서 라이브러리를 찾아 build.gradle에 의존성을 추가하려고 했으나, 추가가 되지 않는 이슈가 발생했다. 하는수없이 직접 jar 파일을 받아 프로젝트에 추가해주려고 했다. 처음에 한 방법은 intelliJ에서 File - Project Structure 에서 Libraries 탭에 jar를 추가해주는 것이었으나, 이조차도 안됨. 그래서 다시 구글링을 통해 로컬 라이브러리를 gradle에 직접 추가하는 방법을 찾아 성공했다. 까먹지 않기 위해 그 내용을 아래에 정리해보겠다. 1. 프로젝..
JSON(JavaScript Object Notation)이란 JavaScript에서 객체를 표현하는 방법. 다양한 프로그래밍 언어에서 데이터를 주고받기위해 사용한다. XML 등과 같이 데이터를 표현하는 일종의 데이터 표현 표준이다. 장점 1) 가독성 : 객체의 구조를 파악하기 쉽다 2) 가벼움 : JSON 이전에 사용하던 XML에 비해 가볍다 3) 플랫폼 독립적 : 특정 언어나 플랫폼에 독립적이어서 JSON 형식만 잘 지킨다면 어떤 시스템이든 데이터 교환이 가능하다. 또한 대부분의 언어에서 JSON 라이브러리를 제공하기 때문에 편리하다. JSONObject, JSONArray 사용법 1) JSONObject JSONObject는 객체를 JSON 객체로 바꿔주거나 JSON 객체를 새로 만드는 역할을 한다..
api로 가져온 List에서 각 Object의 특정 필드값만 따로 추출할 필요가 있었다. for문을 사용하여 각 객체에서 get을 통해 필드 값을 추출하는 방법도 있었지만, 자바8에서 새로 추가된 기능인 strem()을 활용하여 코드를 간결하게 작성해보았다. 간단한 예제로 정리를 해보자면 @Getter public class PersonDto { private String name; private Integer age; } 위와 같은 객체로 이루어진 List personList에서 stream()을 이용하여 name 값만 추출하여 List으로 만들어보자. List nameList = personList.stream().map(PersonDto::getName).collect(Collectors.toLis..
db에서 받아온 문자열 값을 특정 길이만큼 잘라서 줄바꿈을 해야하는 경우가 생겼다. 예를 들면 문자열 "가나다라마바사아자차카타파하"을 고정길이 4로 설정하여 자를 경우 아래처럼 4개의 요소로 분할된다. 가나다라/마바사아/자차카타/파하 이처럼 Java에서 특정 길이만큼 문자열을 분할하는 방법을 알아보자. 1. String 클래스의 substring 메서드 String title = "가나다라마바사아자차카타파하"; int maxLen = 4; int arraySize = (int) Math.ceil((double)title.length() / maxLen); String[] titleArray = new String[arraySize]; int index = 0; for(int startIndex = 0; ..