본문 바로가기

AWS CLOUD FRAMEWORK/Java

[Day21] member

Main

package member;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Scanner;
import oracle.jdbc.driver.OracleDriver;

public class Main {
	public static void main(String[] args) throws Exception {
		
		Scanner sc = new Scanner(System.in);
		String sql;
		
		Connection conn;
		Statement stmt;
		ResultSet rs;
		
		String className = OracleDriver.class.getName();
		String url = "jdbc:oracle:thin:@192.168.1.100:1521:xe";
		String user = "c##itbank";
		String password = "it";
		ArrayList<MemberDTO> list = new ArrayList<MemberDTO>();
		
		System.out.print("SQL > ");
		sql = sc.nextLine();
		
		Class.forName(className);
		conn = DriverManager.getConnection(url, user, password);
		stmt = conn.createStatement();
		rs = stmt.executeQuery(sql);
		
		while(rs.next()) {
			MemberDTO ob = new MemberDTO();
			ob.setName(rs.getString("name"));	// DB의 name을 문자열로 ob에 세팅한다
			ob.setAge(rs.getInt("age"));
			list.add(ob);
		}
		
		sc.close();
		rs.close();
		stmt.close();
		conn.close();
		
		list.forEach(member -> {
			System.out.printf("name : %s, age : %d살\n", member.getName(), member.getAge());
		});
		
	}	// end of main
}	// end of class

MemberDTO

package member;

//	create table member (
//	    name varchar2(100),
//	    age number
//	);

// 자바 빈즈 형식의 클래스 작성하기
// 1) private 멤버 필드 (테이블의 컬럼을 클래스의 멤버 필드로 작성)
// 2) public getter/setter
// 3) 기본 생성자

public class MemberDTO {	// Data Transfer Object, 데이터를 전송하기 위한 클래스(객체)
	private String name;	// VO, Value Object, 값을 담기 위한 객체
	private int age;
	
	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;
	}
}

'AWS CLOUD FRAMEWORK > Java' 카테고리의 다른 글

[Day21] product  (0) 2023.04.12
[Day20] Ex02  (0) 2023.04.10
[Day20] Ex01  (0) 2023.04.10
[Day19] multiChat  (0) 2023.04.08
[Day18] Chat  (0) 2023.04.07