DAO - Data Access Object : 데이터에 접근하기 위한 객체 (삽입,삭제,조회)
DTO - Data Transfer Object : Getter,Setter를 이루는 메소드의 집합
VO - Value of Object : Getter(상수 데이터)를 이용하여 값을 가져오는 메소드
https://dev-eunse.tistory.com/45
⚡ DTO
DTO에 있는 모든 변수를 활용할 필요는 없으며
단,필요한 변수가 있을 경우 DTO에 생성 후 setter,getter메소드를 생성
package oop; import java.util.ArrayList; //Dto를 이용한 배열 생성하기 public class web3 { //DTO에 있는 모든 변수를 활용할 필요는 없으며 //단,필요한 변수가 있을 경우 DTO에 생성 후 setter,getter메소드를 생성 public static void main(String[] args) { dto dt = new dto(); //외부 dto 클래스 로드 String user[][] = { {"홍길동","이순신"}, {"25","33"}, {"hong@nate.com","lee@naver.com"}, {"hong","lee"} }; //{고객명,이메일,나이} 로 ArrayList<ArrayList<String>> all = new ArrayList<ArrayList<String>>(); int f; for(f=0; f<user[0].length; f++) { //2 dt.setName(user[0][f]); dt.setEmail(user[2][f]); dt.setAge(user[1][f]); all.add(dt.make()); //1차배열 return 받는 형태 - [홍길동, hong@nate.com, 25] [이순신, lee@naver.com, 33] 출력 /* ArrayList<String> userdata = new ArrayList<String>(); userdata = dt.make(); System.out.println(userdata); */ } System.out.println(all); //[[홍길동, hong@nate.com, 25], [이순신, lee@naver.com, 33]] 출력 } }
- dtopackage oop; import java.util.ArrayList; public class dto { String id,name,email,age; public String getId() { //getter (return 메소드) return id; } public void setId(String id) { //setter (필드에 있는 변수에 데이터 삽입) this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } //1차배열 public ArrayList<String> make(){ ArrayList<String> arr = new ArrayList<String>(); arr.add(getName()); arr.add(getEmail()); arr.add(getAge()); return arr; } }
❓ 2차배열 -> 2차배열 등록가능?
package oop; import java.util.ArrayList; //2차배열 -> 2차배열 등록가능? public class arraylist1 { public static void main(String[] args) { //1차배열 값 추가 ArrayList<String> a = new ArrayList<String>(); a.add("홍길동"); a.add("이순신"); //2차배열에 1차 배열 값 추가 ArrayList<ArrayList<String>> all = new ArrayList<ArrayList<String>>(); all.add(a); System.out.println(all); //[[홍길동, 이순신]] //2차배열을 2차배열로 받아서 처리 ArrayList<ArrayList<String>> all2 = all; System.out.println(all2); //[[홍길동, 이순신]] } }
가능 ^____^
⚡ web3.java(#7-2 맨위 예제) 응용편
- 해당 메소드 무조건 사용자명만 입력하는 사항은 없습니다.
(단,자료형이 틀릴경우 if,switch로 구분하여 메소드에 인자값을 보냄)
package oop; import java.util.ArrayList; //web3.java 에서 사용한 응용편 public class web4 { public static void main(String[] args) { dto dt = new dto(); //외부 dto 클래스 로드 String user[][] = { {"홍길동","25","hong@nate.com","hong"}, {"이순신","33","lee@naver.com","lee"} }; //1. [[hong, 홍길동, hong@nate.com, 25], [lee, 이순신, lee@naver.com, 33]] 출력 /*ArrayList<ArrayList<String>> data = new ArrayList<ArrayList<String>>(); int w=0; while(w<user.length) { //2 dt.setId(user[w][3]); dt.setName(user[w][0]); dt.setEmail(user[w][2]); dt.setAge(user[w][1]); data.add(dt.make()); w++; } System.out.println(data);*/ //2. [[홍길동, 이순신], [25, 33], [hong@nate.com, lee@naver.com], [hong, lee]] 로 출력... ArrayList<ArrayList<String>> data = new ArrayList<ArrayList<String>>(); int w=0; while(w<user[0].length) { //4 int ww=0; ArrayList<String> test = new ArrayList<String>(); while(ww<user.length) { //2 //if문 or switch문으로 분리해서 던질것! //사실 다 같은 타입이라 setId에 넣어도 되고 다른애들한테 넣어도 됨 //(단, 타입은 if로 구분할것) dt.setName(user[ww][w]); test = dt.make2(); //test.add(dt.make2()); x 1차배열 -> 1차배열로 이관하므로 = 사용 //test.clear(); 여기서 초기화 하면 data 비어져버림 [] System.out.println(test); ww++; } data.add(test); dt.all_arr = new ArrayList<String>(); //외부 class의 전역변수 값 reset w++; } System.out.println(data); } }
package oop; import java.util.ArrayList; public class dto { String id,name,email,age; ArrayList<String> all_arr = new ArrayList<String>(); //전역 1차배열 //...getter,setter 생략 //1차배열 public ArrayList<String> make(){ ArrayList<String> arr = new ArrayList<String>(); arr.add(getName()); arr.add(getEmail()); arr.add(getAge()); return arr; } //전역 형태의 배열 public ArrayList<String> make2(){ this.all_arr.add(getName()); return this.all_arr; } }
'CLASS > JAVA' 카테고리의 다른 글
#7-4 / foreach,List배열 (0) | 2024.05.09 |
---|---|
#7-3 / LinkedList 클래스 배열 (0) | 2024.05.09 |
#7-1 / 주의 (0) | 2024.05.09 |
#6-3 / 2차 class 배열 (0) | 2024.05.08 |
#6-2 / class배열(ArrayList) (0) | 2024.05.08 |