package member;
import java.sql.*;
import member.MemberBean;
패키지를 member 로 묶어주자
Sql 문 사용을 위한 import java.sql.*;
MemberBean; 을 사용하기 위해 멤버빈의 패키지 내용과 동일하게 써준다.
public class MemberProcess
{
public MemberProcess()
{
}
public void memInsert( MemberBean memberBean )
드디어 등장하는 memInsert !!
등록페이지 하단에서 위 메서드를 불러왔고 memberBean 의 값을 넣었는데
이곳에서 받아서 처리를 하게된다.
String URL = "jdbc:mysql://localhost:3306/ju1?useUnicode=true&characterEncoding=euckr";
접속을 하기위해 URL 변수에 주소를 담는다.
String USER = "mio";
String PASS= "****";
접속을 하기 위한 아이디와 패스워드 변수도 지정
Connection conn = null;
PreparedStatement pstmt = null;
커넥팅 변수도 준비하고, insert 를 위한 프레퍼레드스테이트먼트도 준비하자.
여기서 잠깐 !!
PreparedStatement pstmt 란?
1. Statement 의 확장문이다.
2. 디비에 쿼리를 날려서 결과를 얻어내는 용도로 쓰인다.
사용방법은
┌ Connection 객체를 생성한다.
└ Connection 객체로부터 PreparedStatementStatement를 만들어 내면 된다.
자 다음..
try
{
Class.forName("com.mysql.jdbc.Driver");
}
catch (ClassNotFoundException ex1)
{
}
드라이버 로딩부분을 예외처리부분으로 감싸주자.
try
{
conn = DriverManager.getConnection(URL, USER, PASS);
디비 접속설정을 완료해주시고 ~
String sql = "INSERT INTO mem1";
sql += "(name, passwd, id )";
sql += "VALUES ( ?, ?, ?)";
sql 셋팅을 하자. mem1 디비에 이름과 비번과 아뒤를 넣으라는 것..
넣는 순서는 디비 구성과 동일하게 해주자.
pstmt = conn.prepareStatement( sql );
위에서 설명했던 방식으로 변수에 conn 접속설정을 받아서 (sql) 문을 실행시키자.
pstmt.setString( 1, memberBean.getId() );
pstmt.setString( 2, memberBean.getName() );
pstmt.setString( 3, memberBean.getPasswd() );
디비 접속과 동시에 1번째 테이블안에 값으로 가져왔던 멤버빈의
getId() 메소드를 실행시켜 리턴값을 저장시킨다.
이런방식으로 3, 번 까지 완료. 1,2,3, 은 그냥 순서지정하는 의미이다.
pstmt.executeUpdate();
executeUpdate() 는 실행된 결과값을 반환한다.
여기서 잠깐 !!
┌ executeQuery 는 select 할 때 사용하고, 결과값으로 ResultSet이 나온다.
└ executeUpdate 는 insert, update, delete를 할때 사용하고,
결과 값으로 실행된 횟수를 반환하게 된다.
}
catch (SQLException ex2)
{
예외처리 완료
}
finally
{
if( pstmt != null ) try { pstmt.close(); } catch( SQLException ex ) {}
if( conn != null ) try { conn.close(); } catch( SQLException ex ) {}
파이널리 절에서는 꼭 실행되어야 할것들을 넣어주자.
PreparedStatement 를 닫아주자.
conn 을 닫아주자
}
}
}
컴파일 후 완료~!
회원입력.jsp 와 등록완료.jsp 는 Root 에 넣고
MemberBean.java 는 컴파일 하여 패키지명과 동일한
\ROOT\WEB-INF\classes\member 에 넣어주고
MemberProcess.java 는
\ROOT\WEB-INF\classes\member 에서 컴파일 한 후 패키지명과 동일한
\ROOT\WEB-INF\classes\member 에다 넣어주자.
필자는 MemberProcess 가 컴파일 되지 않아서 상당히 고민했다.
컴파일 에러메세지를 떠듬떠듬 읽어보니
member 폴더에 있는 MemberBean 클래스를 임폴트 하지 못한다고 나온다.
네이버에서 5시간정도 검색을 해본 결과
CLASSPATH 를 잘못 설정했었다는 결론에 도달하여
재설정 후 재 컴파일을 시도 했으나 이번엔 다른 에러메세지가 떴다.
하위폴더에 MemberBean 클래스가 없다는 .. 뜻으로 파악되어
classes <-이곳에서 MemberProcess 를 넣고
└-> member <-이곳에 MemberBean 을 넣고
비로소 컴파일이 완료되었다. 악몽의 시간들이 지나고 광명의 빛이 내려온 것이다. 아흑..
허나.....
페이지 입력테스트시 500 에러 .. 컴파일된 MemberProcess.클래스를
classes <-이곳에서
└-> member <- 이곳으로 옮겨넣고
(MemberProcess.class)
(MemberBean.class)
댓글 없음:
댓글 쓰기