반응형
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

bro's coding

jdbc.basic architecture 본문

[IT]/jdbc

jdbc.basic architecture

givemebro 2021. 3. 24. 17:25
반응형

package test;

import java.sql.SQLException;
import java.util.ArrayList;

import model.MemberDAO;
import model.MemberVO;

public class TestMemberDAO2 {
	public static void main(String[] args) {
		try {
			MemberDAO dao = new MemberDAO();
			ArrayList<MemberVO> list = dao.getAllMemberList();
			for (int i = 0; i < list.size(); i++) {
				System.out.println(list.get(i));
			}
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
package test;

import java.sql.SQLException;

import model.MemberDAO;
import model.MemberVO;

public class TestMemberDAO {
	public static void main(String[] args) {
		try {
			MemberDAO dao = new MemberDAO();
			String id = "java";
			MemberVO vo = dao.findMemberById(id);
			if (vo == null) {
				System.out.println(id + "아이디에 해당하는 회원정보 없음");
			} else {
				System.out.println("검색 결과: " + vo);
			}
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
package model;

// VO : Value Object
public class MemberVO {
	private String id;
	private String password;
	private String name;
	private String address;

	public MemberVO() {
		super();
	}

	public MemberVO(String id, String password, String name, String address) {
		super();
		this.id = id;
		this.password = password;
		this.name = name;
		this.address = address;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	@Override
	public String toString() {
		return "MemberVo [id=" + id + ", password=" + password + ", name=" + name + ", address=" + address + "]";
	}
}
package model;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

// DAO : Data Access Object
// DB  연동 로직을 정의한 객체
public class MemberDAO {
	private String driver = "oracle.jdbc.OracleDriver";
	private String url = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
	private String userName = "scott";
	private String pass = "tiger";

	public MemberDAO() throws ClassNotFoundException {
		super();
		Class.forName(driver);

	}

	public void closeAll(ResultSet rs, PreparedStatement pstmt, Connection con) throws SQLException {
		{
			if (rs != null) {
				rs.close();

			}
			if (pstmt != null) {
				pstmt.close();
			}
			if (con != null) {
				con.close();
			}
		}

	}

	public MemberVO findMemberById(String id) throws SQLException {
		// TODO Auto-generated method stub
		Connection con = null;
		ResultSet rs = null;
		PreparedStatement pstmt = null;
		MemberVO vo = null;
		try {
			con = DriverManager.getConnection(url, userName, pass);
			String sql = "select * from member where id = ?";
			pstmt = con.prepareStatement(sql);
			pstmt.setNString(1, id);
			rs = pstmt.executeQuery();
			while (rs.next()) {
				vo = new MemberVO(rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4));
			}
		} finally {
			closeAll(rs, pstmt, con);
		}

		return vo;

	}

	public ArrayList<MemberVO> getAllMemberList() throws SQLException {
		ArrayList<MemberVO> list = new ArrayList<MemberVO>();
		Connection con = null;
		PreparedStatement pstmt = null;
		ResultSet rs = null;
		try {
			con = DriverManager.getConnection(url, userName, pass);
			String sql = "select * from member";
			pstmt = con.prepareStatement(sql);
			rs = pstmt.executeQuery();
			while (rs.next()) {
				list.add(new MemberVO(rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4)));

			}
		} finally {
			closeAll(rs, pstmt, con);
		}
		return list;
	}

}
반응형

'[IT] > jdbc' 카테고리의 다른 글

jdbc.oracleDB.sequence를 활용한 방명록 관리 시스템  (0) 2021.03.25
jdbc.connection  (0) 2021.03.24
Comments