ORACLE
JDBC MemberDAO
날아올라↗↗
2015. 12. 7. 15:17
728x90
반응형
- // 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 : 데이터베이스 처리
728x90
반응형