프로그래밍 언어/자바 & 코틀린
-
[java] 유효한 날짜인지 체크하는 방법(Validation Date)프로그래밍 언어/자바 & 코틀린 2018. 11. 28. 20:52
validationDate java에서 유효한 날짜인지 체크하는 방법 아무 날짜가 스트링 형태로 입력값이 들어올 경우, 에러 메세지를 띄워주어야 하는 기능을 만들어야 했다. 우리 회사는 java7을 이용하기 때문에 java8에서 향상됐다는 datetime은 사용하지 못한다. 그래서 다른 방법을 찾았다. dateFormat의 setLenient를 사용하는 것이다. 여기서 Lenient의 사전적 의미는 '허술하다, 생각한 것보다 판단이나 처벌이 약하다’라는 뜻이다. java doc을 참조하면 아래처럼 설명하고 있다. setLenient(boolean lenient) Specify whether or not date/time parsing is to be lenient. 날짜가 파싱될 때 허술하게 할 지 말지..
-
[java]DTO(또는 VO)에서 객체의 default 값 만들어주는 방법(Constructor of DTO)프로그래밍 언어/자바 & 코틀린 2018. 11. 20. 11:57
dtovalue DTO에서 생성자를 통해 default value 생성하기 insert를 할 경우 기본값이 있다면 DTO에서 만들어주고 Primary key가 될 변수만 새로운 값을 넣어주면 된다. 생성자를 통해 default 값을 만든 이유는 현재 회사에서 개발중인 메뉴가 환경설정 부분이기 때문이다. 사용자가 따로 설정해두지 않으면 default값이 들어가 있도록 하기 위해서다. (최초 메뉴 사용 시 설정된 값이 없을 것이기 때문에 최초 메뉴 클릭시 default를 insert 해주도록) 기본 생성자를 통해 default값을 만들 수도 있고, 오버로딩을 통해 생성자에 매개변수를 넣어서 기본 값을 만들 수 있다. 만들어 본 코드 예시 public class ConstructDto { private Str..
-
DTO(혹은 VO)를 상속 받아서 사용할 경우 주의할 점!프로그래밍 언어/자바 & 코틀린 2018. 9. 18. 20:48
오늘 업무에서 배운 점은 DTO(혹은 VO)를 사용할 때이다. * 여기서 DTO는 Data Transfer Object(데이터 전송 객체), VO는 Value Object(값 객체)를 의미하는데, 둘 다 프로세스 간에 데이터를 전달하는 객체로 이해하면 된다. 단, VO는 Read Only라는 차이점이 있다. DTO간에 상속을 받아서 부모 DTO의 객체도 함께 쓰려고 할 때 주의할 점을 배웠다. DTO 형태로 파라미터를 던지는데, XML쪽에서 에러를 계속해서 뱉었다. 로그에서 parameterType은 DTO형태인데 HashMap이 넘어온다고 말했다. 우리 본부는 DAO에서 공통된 클래스에서 sqlSession을 맺고 끊으면서 DML(select, update, insert, delete)을 위한 메서드를..
-
자바 자료형 정리(Java Data Type)프로그래밍 언어/자바 & 코틀린 2018. 7. 23. 11:12
알고리즘을 풀다보면 자료형 범위가 생각나서 항상 찾아다녔는데, 아예 내 블로그에 정리하는 게 낫겠다. 종류 설명 비트 값의 범위 byte 정수 8-bit -128 ~ 127 short 정수 16-bit -32,768 ~ 32,767 int 정수 32-bit -2,147,483,648 ~ 2,147,483,647 (-2^31 ~ 2^31-1) long 정수 64-bit -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 (-2^63 ~ 2^63-1) float IEEE754 실수 32-bit 1.40239846E-45f ~ 3.40282347E+38f double IEEE754 실수 64-bit 4.94065645841246544E-324 ~ 1.7976931..
-
[java]String.join 사용기(java8에만 존재하는 메서드)프로그래밍 언어/자바 & 코틀린 2018. 3. 12. 22:07
구글링으로 알아낸 String.join메서드를 사용했더니 회사 java버전이랑 맞지 않아서 배포된 서버에서 에러가 나서 찾아봤더니 java8에만 존재하는 메서드였다. 그래서 다른 방식으로 바꿔야했다. 일단 Array(배열)에 String.join을 어떻게 적용했는지 코드부터. 12345678910111213public class StringJoin { public static void main(String[] args){ String requestDate = "2018-03-02"; String[] requestDateArray = requestDate.split("-"); String StrRequestDate = String.join("", requestDateArray); System.out.pri..
-
[java]ObjectMapper를 응용해 json형태(+jsonArray)형태를 원하는 타입(혹은 클래스)형식으로 변환하기프로그래밍 언어/자바 & 코틀린 2018. 3. 5. 15:38
json 데이터로 넘어온 파라미터를 DTO의 형태에 넣고 싶었다. ObjectMapper를 사용하면 json데이터를 내가 원하는 형으로 바꿀 수 있었다. 먼저, DTO 123456789101112public class TestDTO { private int orderSeq; //신청순번 private String groupSeq; //그룹시퀀스 private String compSeq; //회사시퀀스 private String deptSeq; //부서시퀀스 private String empSeq; //사용자시퀀스 private String resignYn; //퇴직여부 //getter, setter 생략 //toString 생략}Colored by Color Scriptercs 넘어온 파라미터를 형변환 ..