[ 설 명 ] 사용 할 프로젝트 우클릭 > New > Folder 클릭합니다.
[ 설 명 ] 폴더이름은 lib 으로 설정하고 Finish 클릭합니다.
[ 설 명 ] ojdbc.jar 파일을 복사합니다.
[ 설 명 ] 생성한 lib 폴더에 붙여넣기 합니다.
[ 설 명 ] 프로젝트 우클릭 > Properties 클릭합니다.
[ 설 명 ] 좌측에서 Java Build Path 선택 > Libraries 탭 선택 > Add Library 클릭합니다.
[ 설 명 ] User Library 선택 > Next 클릭합니다.
[ 설 명 ] User Libraries.. 클릭합니다.
[ 설 명 ] New 클릭합니다.
[ 설 명 ] 알아보기 쉽게 이름을 설정합니다.
[ 설 명 ] ojdbc 선택 > Add JARs ... 클릭합니다.
[ 설 명 ] 아까 생성한 lib 폴더아래에 ojdbc.jar 파일을 선택합니다.
[ 설 명 ] OK 클릭합니다.
[ 설 명 ] Finish 클릭합니다.
[ 설 명 ] OK 클릭합니다.
[ 설 명 ] 프로젝트에 정상적으로 추가된 화면입니다.
// MemberDAO 클래스 // JDBC 사용 방법 // 1. JDBC 드라이버 로드 : Class.forName(oracle.jdbc.driver.OracleDriver); // 2. DB Server 연결 : DriverManager.getConnection(jdbc:oracle:thin:@localhost:XE, scott, tiger) // 3. SQL 쿼리문 명령 : Statement 또는 PreparedStatement // 4. 결과 처리 : executeQuery(SELECT 일 때), executeUpdate(UPDATE, INSERT, DELETE) // 5. 연결 종료 : // 연결 순서 : Connection > Statement 또는 PreparedStatement > ResultSet [ 단, ResultSet 은 SELECT 일때만 사용한다 ] // 연결 종료 순서 : ResultSet > Statement 또는 PreparedStatement > Connection [ 단, ResultSet 은 SELECT 일때만 사용한다 ] import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class MemberDAO { private static final String DRIVER = "oracle.jdbc.driver.OracleDriver"; private static final String URL = "jdbc:oracle:thin:@localhost:XE"; private static final String USER = "scott"; private static final String PASS = "tiger"; public Connection getConn() { Connection con = null; try { Class.forName(DRIVER); con = DriverManager.getConnection(URL, USER, PASS); } catch (Exception e) { e.printStackTrace(); } // try - catch return con; } // getConn : 연결 메소드 작성 public boolean deleteMember(String id, String pwd) { boolean ok = false; Connection con = null; PreparedStatement ps = null; try { con = getConn(); String sql = "delete member2 where id=? and pwd=?"; ps = con.prepareStatement(sql); ps.setString(1, id); ps.setString(2, pwd); int cnt = ps.executeUpdate(); if (cnt == 1) ok = true; } catch (Exception e) { e.printStackTrace(); } finally { if (ps != null) { try { ps.close(); } catch (SQLException e2) { e2.printStackTrace(); } // ps try - catch } // ps if if (con != null) { try { con.close(); } catch (SQLException e2) { e2.printStackTrace(); } // con try - catch } // con if } // try - catch - finally return ok; } // deleteMember : 회원 탈퇴 메서드 public boolean updateMember(MemberDTO dto) { boolean ok = false; Connection con = null; PreparedStatement ps = null; try { con = getConn(); String sql = "Update member2 set name=?,tel=?,addr=?,birth=?," + "job=?,gender=?,email=?,intro=? where id=? and pwd=?"; ps = con.prepareStatement(sql); ps.setString(1, dto.getName()); ps.setString(2, dto.getTel()); ps.setString(3, dto.getAddr()); ps.setString(4, dto.getBirth()); ps.setString(5, dto.getJob()); ps.setString(6, dto.getGender()); ps.setString(7, dto.getEmail()); ps.setString(8, dto.getIntro()); ps.setString(9, dto.getId()); ps.setString(10, dto.getPwd()); int cnt = ps.executeUpdate(); if (cnt == 1) ok = true; } catch (Exception e) { e.printStackTrace(); } finally { if (ps != null) { try { ps.close(); } catch (SQLException e2) { e2.printStackTrace(); } // ps try - catch } // ps if if (con != null) { try { con.close(); } catch (SQLException e2) { e2.printStackTrace(); } // con try - catch } // con if } // try - catch - finally return ok; } // updateMember : 회원정보를 수정하는 메소드 public MemberDTO getMember(String id) { MemberDTO dto = new MemberDTO(); Connection con = null; PreparedStatement ps = null; ResultSet rs = null; try { con = getConn(); // 연결 메소드를 불러온다 String sql = "select * from member2 where id=?"; ps = con.prepareStatement(sql); ps.setString(1, id); // 첫 번째 물음표에 id rs = ps.executeQuery(); if (rs.next()) { dto.setId(rs.getString("id")); dto.setPwd(rs.getString("pwd")); dto.setName(rs.getString("name")); dto.setTel(rs.getString("tel")); dto.setAddr(rs.getString("addr")); dto.setBirth(rs.getString("birth")); dto.setJob(rs.getString("job")); dto.setGender(rs.getString("gender")); dto.setEmail(rs.getString("email")); dto.setIntro(rs.getString("intro")); } // if } catch (Exception e) { e.printStackTrace(); } finally { if (rs != null) { try { rs.close(); } catch (SQLException e2) { e2.printStackTrace(); } // rs try - catch } // rs if if (ps != null) { try { ps.close(); } catch (SQLException e2) { e2.printStackTrace(); } // ps try - catch } // ps if if (con != null) { try { con.close(); } catch (SQLException e2) { e2.printStackTrace(); } // con try - catch } // con if } // try - catch - finally return dto; } // getMember : 한 사람의 회원 정보를 얻는 메소드 public void insertMember(MemberDTO dto) { Connection con = null; PreparedStatement ps = null; try { con = getConn(); String sql = "insert into member2" + "(id,pwd,name,tel,addr,birth,job,gender,email,intro) " + "values(?,?,?,?,?,?,?,?,?,?)"; ps = con.prepareStatement(sql); ps.setString(1, dto.getId()); ps.setString(2, dto.getPwd()); ps.setString(3, dto.getName()); ps.setString(4, dto.getTel()); ps.setString(5, dto.getAddr()); ps.setString(6, dto.getBirth()); ps.setString(7, dto.getJob()); ps.setString(8, dto.getGender()); ps.setString(9, dto.getEmail()); ps.setString(10, dto.getIntro()); ps.executeUpdate(); // 실행 } catch (Exception e) { e.printStackTrace(); } finally { if (ps != null) { try { ps.close(); } catch (SQLException e2) { e2.printStackTrace(); } // ps try - catch } // ps if if (con != null) { try { con.close(); } catch (SQLException e2) { e2.printStackTrace(); } // con try - catch } // con if } // try - catch - finally } // insertMember : 회원 정보를 저장하는 메소드 } // MemberDAO : 데이터베이스 처리
// MemberDTO 클래스 public class MemberDTO { private String id; private String pwd; private String name; private String tel; private String addr; private String birth; private String job; private String gender; private String email; private String intro; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } public String getAddr() { return addr; } public void setAddr(String addr) { this.addr = addr; } public String getBirth() { return birth; } public void setBirth(String birth) { this.birth = birth; } public String getJob() { return job; } public void setJob(String job) { this.job = job; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getIntro() { return intro; } public void setIntro(String intro) { this.intro = intro; } @Override public String toString() { return "MemberDTO [id=" + id + ", pwd=" + pwd + ", name=" + name + ", tel=" + tel + ", addr=" + addr + ", birth=" + birth + ", job=" + job + ", gender=" + gender + ", email=" + email + ", intro=" + intro + "]"; } } // MemberDTO : 한 레코드의 데이터
'Java > Java SE' 카테고리의 다른 글
Java 쌍따움표 안에 쌍따움표 처리 (0) | 2013.08.29 |
---|---|
Java JDBC SWING 프로그래밍 예제 - 성적관리 (9) | 2013.08.24 |
Java 입출력(I/O) (0) | 2013.08.20 |
Java 쓰레드(Thread) (0) | 2013.08.19 |
Java 이름 규칙(Naming Rule) (0) | 2013.08.16 |