본문 바로가기
JAVA + DB

JAVA + DB 실습 (3)(Class.run)

by pms93 2022. 8. 9.

<< Main >>

package jdbc_concept5.run;

import jdbc_concept5.view.MemberView;

public class Main {

	public static void main(String[] args) {
		MemberView mv = new MemberView();
		mv.mainMenu();
	}
}

 

<< DTO Interface >>

package jdbc_concept5.run;

public interface IDTO {
	public int getNum();
	public void setNum(int num) ;
	
	public String getId();
	public void setId(String id);
	
	public String getPw() ;
	public void setPw(String pw) ;
	
	public String getName() ;
	public void setName(String name) ;
	
	public String getEmail() ;
	public void setEmail(String email);
}

 

<< DTO >>

package jdbc_concept5.run;

public class MemberDTO implements IDTO {

	private int num;
	private String id, pw, name, email;
	
	public int getNum() {
		return num;
	}
	public void setNum(int num) {
		this.num = num;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getPw() {
		return pw;
	}
	public void setPw(String pw) {
		this.pw = pw;
	}
	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;
	}
	
	

}

 

<< DAO Interface >>

package jdbc_concept5.run;

import java.util.ArrayList;

public interface IDAO {
	public MemberDTO selectId(String id);
	public int insertMember(MemberDTO member);
	public ArrayList<MemberDTO> selectAll();
	public int updateMember(MemberDTO member);
	public int deleteMember(String id);
	public void exit();
}

 

<< DAO >>

package jdbc_concept5.run;

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

public class MemberDAO implements IDAO {

	private Connection connect;
	private PreparedStatement ps;
	private ResultSet rs;
	
	public MemberDAO() {
		try {
			Class.forName("oracle.jdbc.OracleDriver");
		} catch (ClassNotFoundException e) {
			System.out.println("Driver를 찾을 수 없습니다.");
			e.printStackTrace();
		}
		
		try {
			connect = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe",
					"oracle", "oracle");
		} catch (SQLException e) {
			System.out.println("DB 연결 과정에서 문제가 발생했습니다.");
			e.printStackTrace();
		}
	}

	@Override
	public MemberDTO selectId(String id) {
		String selectQuery = "SELECT * FROM jdbc_concept5 WHERE id = ?";
		
		try {
			ps = connect.prepareStatement(selectQuery);
			ps.setString(1, id);
			rs = ps.executeQuery();
			if (rs.next()) {
				MemberDTO member = new MemberDTO();
				member.setNum(rs.getInt("num"));
				member.setId(rs.getString("id"));
				member.setPw(rs.getString("pw"));
				member.setName(rs.getString("name"));
				member.setEmail(rs.getString("email"));
				
				return member;
			}
			return null;
		} catch (SQLException e) {
			
			e.printStackTrace();
		}
		
		return null;
	}

	@Override
	public int insertMember(MemberDTO member) {
		String insertQuery = "INSERT INTO jdbc_concept5 VALUES(concept5.nextval, ?, ?, ? ,?)";
		
		try {
			ps = connect.prepareStatement(insertQuery);
			ps.setString(1, member.getId());
			ps.setString(2, member.getPw());
			ps.setString(3, member.getName());
			ps.setString(4, member.getEmail());
			return ps.executeUpdate();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		return 0;
	}

	@Override
	public ArrayList<MemberDTO> selectAll() {
		String allQuery = "SELECT * FROM jdbc_concept5";
		ArrayList<MemberDTO> members = new ArrayList<>();
		try {
			ps = connect.prepareStatement(allQuery);
			rs = ps.executeQuery();
			while (rs.next()) {
				MemberDTO member = new MemberDTO();
				member.setNum(rs.getInt("num"));
				member.setId(rs.getString("id"));
				member.setPw(rs.getString("pw"));
				member.setName(rs.getString("name"));
				member.setEmail(rs.getString("email"));
				members.add(member);
			}
			return members; 
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return null;
	}

	@Override
	public int updateMember(MemberDTO member) {
		String updateQuery = "UPDATE jdbc_concept5 SET pw = ?, name = ?, email = ? WHERE id = ?";
		
		try {
			ps = connect.prepareStatement(updateQuery);
			ps.setString(1, member.getPw());
			ps.setString(2, member.getName());
			ps.setString(3, member.getEmail());
			ps.setString(4, member.getId());
			
			return ps.executeUpdate();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		return 0;
	}

	@Override
	public int deleteMember(String id) {
		String deleteQuery = "DELETE FROM jdbc_concept5 WHERE id = ?";
		
		try {
			ps = connect.prepareStatement(deleteQuery);
			ps.setString(1, id);
			return ps.executeUpdate();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return 0;
	}

	@Override
	public void exit() {
		try {
			if (rs != null)
				rs.close();
			if (ps != null)
				ps.close();
			if (connect != null)
				connect.close();
		} catch (Exception e) {
			System.out.println("으아아아ㅏㅇ");
			e.printStackTrace();
		}
	}

}

 

'JAVA + DB' 카테고리의 다른 글

JAVA + DB 실습 (3)(Class.Service)  (0) 2022.08.09
JAVA + DB 실습 (3)(Class.View)  (0) 2022.08.09
JAVA + DB 실습(2)  (0) 2022.08.08
JAVA + DB 실습(1-2)  (0) 2022.08.06
JAVA + DB 실습(1-1)  (0) 2022.08.06