DAO / VO / Util
MVC2모델의 DAO클래스는 싱글톤으로 만들어줘야함
UserVO
MVC2모델의 VO를 생성하기전에 테이블을 만든다
--jsp라는 계정 생성
CREATE USER jsp identified by jsp;
--jsp라는 계정에 권한 할당
grant resource, connect to jsp;
--jsp라는 계정에 tablespace할당
alter user jsp default TABLESPACE users QUOTA UNLIMITED on users;
테이블 구성
CREATE TABLE users(
id VARCHAR2(30) PRIMARY KEY,
pw VARCHAR2(30) NOT NULL,
name VARCHAR2(30) NOT NULL,
email VARCHAR2(30) UNIQUE,
gender CHAR(1) CHECK (gender IN ('F', 'M'))
);
DB에서 만든 테이블을 토대로 VO클래스를 생성한다.
데이터베이스 컬럼과 동일한 멤버변수를 가진다.
기본생성자 / Constructor Using Fields / Getter / Setter 생성
private String id;
private String pw;
private String name;
private String email;
private String gender;
//기본생성자
public UserVO() { }
//Constructor Using Fields
public UserVO(String id, String pw, String name, String email, String gender) {
super();
this.id = id;
this.pw = pw;
this.name = name;
this.email = email;
this.gender = gender;
}
//Getter & Setter 생성
User_DAO
DAO는 불필요하게 여러개 만들어질 필요가 없기 때문에
한개의 객체만 만들어지도록 singleton형식으로 설계함
//1. 나자신의 객체를 생성해서 1개로 제한함.
private static UserDAO instance = new UserDAO();
//2. 직접 객체를 생성 할 수 없도록 생성자에 private
private UserDAO() { //매번 필요한 드라이버클래스 로드
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
System.out.println("드라이버 클래스 로드 에러");
e.printStackTrace();
}
}
//3. 외부에서 객체생성을 요구할때 getter메서드를 통해 1번의 객체를 반환
public static UserDAO getInstance() {
return instance;
}
//4. 필요한 데이터베이스 변수 선언
//5. 메서드 생성
JDBCUtill
자주 사용하는 기능들은 묶어서 Util클래스에 저장해두고 매번 호출만 해도 사용 할 수 있게 만들어둠
public static void close( Connection conn, PreparedStatement pstmt, ResultSet rs ) {
//매번 사용하는 종료메서드들을 모아 close라는 메서드를 만듬
try {
if(conn!=null) conn.close();
if(pstmt!=null) pstmt.close();
if(rs!=null) rs.close();
} catch (Exception e2) {
System.out.println("Close에러");
}
}
'jsp' 카테고리의 다른 글
MVC2 예시 (Header Footer) (0) | 2022.12.05 |
---|---|
MVC2패턴 예시 (CONTROLLER & SERVICE) (0) | 2022.12.05 |
js정규표현식 (0) | 2022.12.05 |
2022_12_02 MVC2 패턴 (Controller) (0) | 2022.12.02 |
2022_12_02 JSTL(FMT library) (0) | 2022.12.02 |
댓글