<< 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 |