JAVA
-
JavaBean이란? JavaBean은 JavaBean API Specification에 따른 Standard이다. 여기서 Standard란 보통 클래스이름은 CapitalCase로, 필드나 메서드 이름은 camelCase로 쓰라는 말을 많이들 하는데 사실 클래스 이름을 Capital Case가 아닌 다른 형식을 사용한다고 잘못된 것은 아니다. 하지만 개발자들 사이에서는 보통 이런 규칙을 지키고 이를 Standard라고 한다. 예시로 import java.io.Serializable; public class Page implements Serializable { private String pageName; private int pageNum; public Page() { // no-argument con..
JavaBeanJavaBean이란? JavaBean은 JavaBean API Specification에 따른 Standard이다. 여기서 Standard란 보통 클래스이름은 CapitalCase로, 필드나 메서드 이름은 camelCase로 쓰라는 말을 많이들 하는데 사실 클래스 이름을 Capital Case가 아닌 다른 형식을 사용한다고 잘못된 것은 아니다. 하지만 개발자들 사이에서는 보통 이런 규칙을 지키고 이를 Standard라고 한다. 예시로 import java.io.Serializable; public class Page implements Serializable { private String pageName; private int pageNum; public Page() { // no-argument con..
2022.10.17 -
Map key와 Value의 쌍으로 값을 저장하는 컬렉션 대응관계를 쉽게 표현할 수 있게 해주는 자료형 보통 select를 사용하는 경우에 2개 이상의 테이블을 조인하여 조회하는 경우가 많아 VO로는 표현이 복잡하여 Map을 사용하며 Map의 경우는 변수명을 바꿔가면서 계속적으로 put 할 수가있다. Map map = new HashMap(); map.put("StartNum", 1) map.put("EndNum", 4) jdbc.queryForObject(쿼리문, map, 클래스(또는 rowMapper)); 단점 Map은 Key 또는 value가 null이면 Map의 해당 필드 자체를 Key로 가져가지 않는다 따라서, 쿼리 수행 시 key 값 자체가 존재하지 않아 오류가 발생한다. 여러 타입을 담아야 ..
Map, VO(Value Object)Map key와 Value의 쌍으로 값을 저장하는 컬렉션 대응관계를 쉽게 표현할 수 있게 해주는 자료형 보통 select를 사용하는 경우에 2개 이상의 테이블을 조인하여 조회하는 경우가 많아 VO로는 표현이 복잡하여 Map을 사용하며 Map의 경우는 변수명을 바꿔가면서 계속적으로 put 할 수가있다. Map map = new HashMap(); map.put("StartNum", 1) map.put("EndNum", 4) jdbc.queryForObject(쿼리문, map, 클래스(또는 rowMapper)); 단점 Map은 Key 또는 value가 null이면 Map의 해당 필드 자체를 Key로 가져가지 않는다 따라서, 쿼리 수행 시 key 값 자체가 존재하지 않아 오류가 발생한다. 여러 타입을 담아야 ..
2022.10.17 -
List list = new ArrayList(); 위와 같이 ArrayList와 같은 구현체 클래스가 아닌 List라는 인터페이스로 ArrayList를 업캐스팅해서 선언하는지 알아보았다. 1. 나중에 데이터의 용도가 바뀌어 삽입/삭제가 유리한 LinkedList 자료구조로 변경해야 할 때 ArrayList list = new ArrayList(); 이렇게 ArrayList라는 인스턴스로 선언해두었다면 ArrayList로 선언된 모든 부분을 LinkedList로 변경해 주어야 하지만 List라는 인터페이스로 선언했다면 선언부 외에 다른 부분을 변경할 필요가 없는 유연함을 가지고 있다. 2. 대부분 ArrayList만이 제공하는 기능을 쓰지 않는다. 그렇기에 List로 선언해야 List에서 제공하는 메소드..
List로 선언해야하는 이유List list = new ArrayList(); 위와 같이 ArrayList와 같은 구현체 클래스가 아닌 List라는 인터페이스로 ArrayList를 업캐스팅해서 선언하는지 알아보았다. 1. 나중에 데이터의 용도가 바뀌어 삽입/삭제가 유리한 LinkedList 자료구조로 변경해야 할 때 ArrayList list = new ArrayList(); 이렇게 ArrayList라는 인스턴스로 선언해두었다면 ArrayList로 선언된 모든 부분을 LinkedList로 변경해 주어야 하지만 List라는 인터페이스로 선언했다면 선언부 외에 다른 부분을 변경할 필요가 없는 유연함을 가지고 있다. 2. 대부분 ArrayList만이 제공하는 기능을 쓰지 않는다. 그렇기에 List로 선언해야 List에서 제공하는 메소드..
2022.10.14 -
쉽게 생각하면 배열 안의 개수에 맞게 반복하는 것으로 간편하고 가독성이 좋지만 인덱스(for(int i = 0;)의 i 같은 것)를 사용하지 못한다. 일반 배열 원소 추출 String[] arr = {"1","2","3","4","5"}; for(String S : arr){ System.out.println(s); } /* -결과- 1 / 2 / 3 / 4 / 5 */ 이차원 배열 원소 추출 Stirng[][] arr = {{"1","2","3","4","5"},{"A","B","C","D","E"}}; for(String[] S : arr){ for(String Sa : arrs){ System.out.println(Sa); } } /* - 결과 - 1 / 2 / 3 / 4 / 5 / A / B / ..
향상된 for 문쉽게 생각하면 배열 안의 개수에 맞게 반복하는 것으로 간편하고 가독성이 좋지만 인덱스(for(int i = 0;)의 i 같은 것)를 사용하지 못한다. 일반 배열 원소 추출 String[] arr = {"1","2","3","4","5"}; for(String S : arr){ System.out.println(s); } /* -결과- 1 / 2 / 3 / 4 / 5 */ 이차원 배열 원소 추출 Stirng[][] arr = {{"1","2","3","4","5"},{"A","B","C","D","E"}}; for(String[] S : arr){ for(String Sa : arrs){ System.out.println(Sa); } } /* - 결과 - 1 / 2 / 3 / 4 / 5 / A / B / ..
2022.09.29 -
Substring String 클래스 자체가 Char을 여러개 붙여놓은 효과를 주기에 String = char 배열이라고 생각해도 된다. String.substring(start) // 지정한 시작위치에서 끝까지 문자열을 자른다. String.substring(start, end) // 지정한 시작위치에서 지정한 종료위치 전까지 문자열을 자른다. String str = "ABCDEFG"; str.substring(3);/* "DEFG" */ str.substring(3,6);/* DEF */ //1. 마지막 3글자 자르기 String str = "ABCDEFG"; str.substring(str.length()-3, str.length()); /* EFG */ //2. 특정문자 이후의 문자열 제거 Str..
[JAVA] 문자열 자르기 (Substring / Split)Substring String 클래스 자체가 Char을 여러개 붙여놓은 효과를 주기에 String = char 배열이라고 생각해도 된다. String.substring(start) // 지정한 시작위치에서 끝까지 문자열을 자른다. String.substring(start, end) // 지정한 시작위치에서 지정한 종료위치 전까지 문자열을 자른다. String str = "ABCDEFG"; str.substring(3);/* "DEFG" */ str.substring(3,6);/* DEF */ //1. 마지막 3글자 자르기 String str = "ABCDEFG"; str.substring(str.length()-3, str.length()); /* EFG */ //2. 특정문자 이후의 문자열 제거 Str..
2022.09.27 -
Java에서는 배열을 쓸때 [] 를 사용한다. 문자열을 배열로 만들 때 사용하는 메서드는 split() 이다. 괄호에 콜론(,)을 넣어주면 콜론(,)을 기준으로 나눌 수 있다. String[] arr = {1,2,3,4,5}; // 배열 생성 arr.split(","); // 콜롬(,) 값에 맞게 나누기
배열 나누기(split)Java에서는 배열을 쓸때 [] 를 사용한다. 문자열을 배열로 만들 때 사용하는 메서드는 split() 이다. 괄호에 콜론(,)을 넣어주면 콜론(,)을 기준으로 나눌 수 있다. String[] arr = {1,2,3,4,5}; // 배열 생성 arr.split(","); // 콜롬(,) 값에 맞게 나누기
2022.09.21 -
C JSTL FMT JSTL FN JSTL
JSTLC JSTL FMT JSTL FN JSTL
2022.08.26 -
DAO 직접 데이터베이스에 접근하여 DATA를 삽입, 삭제, 조회 등 조작할 수 있는 기능을 수행한다. MVC패턴의 Model에서 이와 같은 일을 수행한다. DTO 로직을 가지지 않는 데이터 객체이고 getter/setter 메소드만 가진 클래스를 의미한다. DB에서 데이터를 얻어 Service나 Controller 등으로 보낼 때 사용하는 객체 VO DTO와 동일한 개념이지만 VO는 getter 기능만 존재하며 read only 속성을 가짐. 값 자체에 의미가 있는 VO와 전달될 데이터를 보존해야하는 DTO의 특성상 개념이 다르다.
DAO, DTO, VODAO 직접 데이터베이스에 접근하여 DATA를 삽입, 삭제, 조회 등 조작할 수 있는 기능을 수행한다. MVC패턴의 Model에서 이와 같은 일을 수행한다. DTO 로직을 가지지 않는 데이터 객체이고 getter/setter 메소드만 가진 클래스를 의미한다. DB에서 데이터를 얻어 Service나 Controller 등으로 보낼 때 사용하는 객체 VO DTO와 동일한 개념이지만 VO는 getter 기능만 존재하며 read only 속성을 가짐. 값 자체에 의미가 있는 VO와 전달될 데이터를 보존해야하는 DTO의 특성상 개념이 다르다.
2022.08.09