WEB, 실전jsp강좌 & database 이용
DB연결 순서
- JDBC 드라이버 로드 / DriverManager
- 메모리에 mysqlDriver가 로드 된다
Class.forName("com.mysql.jdbc.Drvier");
- 메모리에 mysqlDriver가 로드 된다
- 데이터베이스 연결 / Connection
- Connection 객체 생성
Connection conn = DriverManager.getConnection(dbURL, dbID, dbPassword);
- Connection 객체 생성
- sql문 실행 / Statement
- Statement객체를 통해 sql문 실행
- 데이터베이스 연결 해제 / ResultSet
Statement stmt = null; stmt = (Statement) con.createStatement(); rs = stmt.executeQuery("select * from user");
Statement객체
-
Statement - excuteQuery() / select
- next(), previous(), first(), last(), get(getString, getInt)
-
executeUpdate() / insert, delete, update
- excuteQuery() / select
DAO
- 데이터 베이스 접근 객체 약자
- 실질적으로 db에서 회원정보를 불러오거나 입력,삭제시 사용 하는 클래스
예제
package user;
import java.sql.*;
public class UserDAO {
private Connection conn;
private PreparedStatement pstmt;
private ResultSet rs;
// db 커넥션
public UserDAO() {
System.out.println("userdao !!");
try {
String dbURL = "jdbc:mysql://localhost:3306/studyweb";
// 우리 컴에 설치된 mysql서버를 의미, bbs라는 데이터 베이스에 접속
String dbID = "root";
String dbPassword = "devham7676";
//Class.forName("com.mysql.jdbc.Drvier"); // 주석처리하니까 실행됬음. 원인이 뭘까?
// 드라이버 : mysql에 접속할 수 있도록 하는 하나의 메게체
conn = DriverManager.getConnection(dbURL, dbID, dbPassword);
System.out.println("1conn:"+conn);
}catch(Exception e) {
e.printStackTrace();
}
}
public int login(String userID, String userPassword) {
System.out.println("id : "+ userID+", pw: "+userPassword);
String SQL = "Select userPw from user where userId = ? ";
System.out.println("login conn:"+conn);
try {
pstmt = conn.prepareStatement(SQL);
pstmt.setString(1, userID);
rs = pstmt.executeQuery();
if (rs.next()) {
if(rs.getString(1).equals(userPassword)) {
return 1; // 로그인 성공
}
else
return 0; // 비밀번호 불일치
}
return -1; // 아이디가 없음
} catch(Exception e) {
System.out.println("error1");
e.printStackTrace();
System.out.println("error2");
}
return -2; // db오류
}
public int join(User user) {
//System.out.println("id : "+ userId+", pw: "+userPw+", name :"+userName);
String SQL = "Insert into user (userId, userPw, name) values (? ,? ,?) ";
System.out.println("join conn:"+conn);
System.out.println(SQL);
try {
pstmt = conn.prepareStatement(SQL);
pstmt.setString(1, user.getUserId());
pstmt.setString(2, user.getUserPw());
pstmt.setString(3, user.getUserPw());
return pstmt.executeUpdate();
} catch(Exception e) {
System.out.println("error1");
e.printStackTrace();
System.out.println("error2");
}
return -1; // db오류
}
}
Reference
https://www.inflearn.com/course/%EC%8B%A4%EC%A0%84-jsp-%EA%B0%95%EC%A2%8C/lecture/1180