본문 바로가기

콩's EDUCATION/콩's JSP&SERVLET

회원가입 (진행중)

package com.shop.model;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;

public class JoinDAO {
 public Connection dbCon(){
  Connection con = null;
  try{
   Context ctx = new InitialContext(); // 톰캣에 namingContext가 있다. 자원을 가져오기 위해서는
   Context tomcat = (Context)ctx.lookup("java:comp/env"); // 톰캣에 있는 컨텍스를 가져온다.
   DataSource ds = (DataSource)tomcat.lookup("jdbc/oracle"); // 데이터 소스는 톰캣이 시작할 때 생성한다. maxidle 최소 10개 생성.
   // server.xml에서 확인한다.
   con = ds.getConnection(); // 데이터 소스로부터 url, passwd를 가져온다.
  }catch(Exception e){
   e.printStackTrace();
  }
  return con;
 }
  public void dbClose(Connection con, Statement stat, ResultSet rs){
   try{
    if(rs!=null)rs.close();
    if(stat!=null)stat.close();
    if(con!=null)con.close();
    }catch(Exception e){
     e.printStackTrace();
    }
  } // dbClose() end
   public boolean dupIdCheck(String uid){
    // 중복 ID체크 수행 메서드
    boolean success = false;
    Connection con = null;
    PreparedStatement stat = null;
    ResultSet rs = null;
    String sql = "select * from userinfo where userid=?";
    try{
     con = dbCon();
     stat = con.prepareStatement(sql);
     stat.setString(1,uid);
     rs = stat.executeQuery();
     while(rs.next()){
      success = true;
     } // while end
   }catch(Exception e){
    e.printStackTrace();
   }finally{
    dbClose(con,stat,rs);
   }
    return success;
   }
   public UserVo joinProc(UserVo user){
    // 회원가입 처리 메서드
    UserVo vo = null;
    Connection con = null;
    PreparedStatement stat = null;
    StringBuffer sql = new StringBuffer();
    sql.append("insert into userinfo (userid,passwd,username");
    sql.append(",birth,address,phone,mobile,blog,email,gender");
    sql.append(",sms,letter,interest) values");
    sql.append("(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?); ");
    try{
     con = dbCon();
     stat = con.prepareStatement(sql.toString());
     stat.setString(1,user.getUserid());
     stat.setString(2,user.getPasswd());
     stat.setString(3,user.getUsername());
     stat.setDate(4,user.getBirth());
     stat.setString(5,user.getAddress());
     stat.setString(6,user.getPhone());
     stat.setString(7,user.getMobile());
     stat.setString(8,user.getBlog());
     stat.setString(9,user.getEmail());
     stat.setString(10,String.valueOf(user.getGender()));
     stat.setString(11,String.valueOf(user.getSms()));
     stat.setString(12,String.valueOf(user.getLetter()));
     stat.setString(13,user.getInterest());
     if(stat.executeUpdate()==0){
      user=null;
     }
   }catch(Exception e){
    e.printStackTrace();
   }finally{
    dbClose(con,stat,null);
   }
   return vo;
   } // joinProc() end
}