main 클래스(객체) <----- DTO / VO / 빈즈 ---- > Database Access Object -- DTO / VO / 빈즈 --> DB
DTO (Data Transfer Object)
하나의 객체 안에 여러 데이터들을 포함시켜 전송
VO (Value Object)
****Collection FrameWork
1) List
- ***ArrayList
- LinkedList
2) Map
-*** HashMap
3) Set
Spring Boot - main 메소드 기본 생성
영속 계층 == Repository
서비스 계층
Wrapper 클래스
: null 값이 들어와도 오류가 나지 않는다
기초 <----캐스팅---->기초
기초 <---wrapper---> 객체
<Integer> : int 타입으로 변환시켜줌
대문자 A => 65
자바는 생성자가 하나라도 없으면 디폴트 생성자를 자동으로 만들어주지만 있으면 디폴트 생성자 X
DTO -> DAO -> Main 만들어지는 순
예외 처리 try catch 문
I/O객체 처리할 때 반드시 예외처리를 해야한다
자바는 오류가 난 곳에서 실행이 멈춘다
만든 파일들
package kr.co.hanuledu.oop1;
public class PersonDAO {
private PersonDTO[] person;
public PersonDAO(PersonDTO[] person) {
this.person = person;
}
// 출력하는 기능
public void display() {
System.out.println("이름\t나이\t키\t몸무게\t성별");
for(int i = 0; i < person.length; i++) {
System.out.print(person[i].getName() + "\t");
System.out.print(person[i].getAge()+ "\t");
System.out.print(person[i].getHeight()+ "\t");
System.out.print( person[i].getWeight()+ "\t");
System.out.println(person[i].getGender()+ "\t");
}
}
// 나이 정렬하는 기능
public void sortAge() {
for (int i = 0; i < person.length; i++) {
for (int j = i + 1; j < person.length; j++) {
if (person[i].getAge() > person[j].getAge()) {
PersonDTO temp = person[i];
person[i] = person[j];
person[j] = temp;
}
}
}
}
// 이름 정렬하는 기능
// A.compareTo(B)
// 1. A와 B가 같으면 0을 반환
// 2. A가 B보다 크면 양수를 반환
// 3. A가 B보다 작으면 음수를 반환
public void sortName() {
for (int i = 0; i < person.length; i++) {
for (int j = i + 1; j < person.length; j++) {
// person[i]의 이름이 person[j]의 이름보다 크다면(양수라면)
if (person[i].getName().compareTo(person[j].getName()) > 0) {
//데이터를 교환
PersonDTO temp = person[i];
person[i] = person[j];
person[j] = temp;
}
}
}
}
}
package kr.co.hanuledu.oop1;
public class PersonDTO {
private String name;
private int age;
private float height;
private float weight;
private char gender;
public PersonDTO(String name, int age, float height, float weight, char gender) {
super();
this.name = name;
this.age = age;
this.height = height;
this.weight = weight;
this.gender = gender;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public float getHeight() {
return height;
}
public void setHeight(float height) {
this.height = height;
}
public float getWeight() {
return weight;
}
public void setWeight(float weight) {
this.weight = weight;
}
public char getGender() {
return gender;
}
public void setGender(char gender) {
this.gender = gender;
}
@Override
public String toString() {
return "PersonDTO [name=" + name + ", age=" + age + ", height=" + height + ", weight=" + weight + ", gender="
+ gender + "]";
}
}
package kr.co.hanuledu.oop1;
public class PersonMain {
public static void main(String[] args) {
PersonDTO[] person = new PersonDTO[3];
person[0] = new PersonDTO("홍길동",33,175.5f,75f,'M');
person[1] = new PersonDTO("나길동",30,172f,68.5f,'M');
person[2] = new PersonDTO("성춘향",18,165f,48.5f,'F');
// 선언된 PersonDTP[]의 데이터를 가져오기
PersonDAO personDAO = new PersonDAO(person);
personDAO.display();
System.out.println();
System.out.println("====================");
System.out.println();
personDAO.sortAge();
personDAO.display();
System.out.println();
System.out.println("====================");
System.out.println();
personDAO.sortName();
personDAO.display();
}
}
package kr.co.hanuledu.oop1;
public class ProductDAO {
private ProductDTO[] product;
public ProductDAO(ProductDTO[] product) {
this.product = product;
}
// 상품 목록 조회
public void display() {
System.out.println("상품명\t상품설명\t가격\t판매자");
for(int i = 0; i < product.length; i++) {
System.out.print(product[i].getName() + "\t");
System.out.print(product[i].getDesc()+ "\t");
System.out.print(product[i].getPrice()+ "\t");
System.out.println( product[i].getSeller()+ "\t");
}
}
// 가격 순위 (오름, 내림) // 비싼 거, 싼 거
public void ascPrice() {
for (int i = 0; i < product.length; i++) {
for (int j = i + 1; j < product.length; j++) {
if (product[i].getPrice() > product[j].getPrice()) {
ProductDTO temp = product[i];
product[i] = product[j];
product[j] = temp;
}
}
}
}
public void decPrice() {
for (int i = 0; i < product.length; i++) {
for (int j = i + 1; j < product.length; j++) {
if (product[i].getPrice() < product[j].getPrice()) {
ProductDTO temp = product[i];
product[i] = product[j];
product[j] = temp;
}
}
}
}
}
package kr.co.hanuledu.oop1;
public class ProductDTO {
private String name;
private String desc;
private int price;
private String seller;
public ProductDTO(String name, String desc, int price, String seller) {
super();
this.name = name;
this.desc = desc;
this.price = price;
this.seller = seller;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public String getSeller() {
return seller;
}
public void setSeller(String seller) {
this.seller = seller;
}
@Override
public String toString() {
return "ProductDTO [name=" + name + ", desc=" + desc + ", price=" + price + ", seller=" + seller + "]";
}
}
package kr.co.hanuledu.oop1;
public class ProductMain {
public static void main(String[] args) {
ProductDTO[] product = new ProductDTO[3];
product[0] = new ProductDTO("반팔티", "하얀색", 15000, "무신사");
product[1] = new ProductDTO("장난감", "아동용", 20000, "티니핑");
product[2] = new ProductDTO("삼다수", "물1L", 10000, "제주삼다수");
// 선언된 PersonDTP[]의 데이터를 가져오기
ProductDAO productDAO = new ProductDAO(product);
productDAO.display();
System.out.println();
System.out.println("====================");
System.out.println();
// 오름차순
productDAO.ascPrice();
productDAO.display();
System.out.println();
System.out.println("====================");
System.out.println();
// 내림차순
productDAO.decPrice();
productDAO.display();
}
}
package kr.co.hanuledu.oop1;
public class tryCatchEx {
public static void main(String[] args) {
/*
* try (~~) catch (~~) : Exception(예외처리)
* 정상적인 구간 / 예외적인 구간
*/
try {
System.out.println(args[0]);
System.out.println(args[1]);
System.out.println(args[0] + args[1]);
// 래퍼클래스 문자형 숫자 -> 숫자형 숫자 변환
System.out.println(Integer.parseInt(args[0]) + Integer.parseInt(args[1]));
} catch (Exception e) {
e.printStackTrace();
System.out.println(e);
// System.out.println("값을 입력해 주세요");
}
}
}
'BackEnd > Backend 공부 정리' 카테고리의 다른 글
| Java-12 (0) | 2024.08.22 |
|---|---|
| sqldeveloper-11 (0) | 2024.08.21 |
| sqldeveloper-10 (0) | 2024.08.20 |
| Java-10 (0) | 2024.08.20 |
| sqldeveloper-9.1 (0) | 2024.08.19 |