jsp

MVC2패턴 예시 (VO & DAO) (UTIL)

0304호 2022. 12. 5.

DAO / VO / Util

MVC2모델의 DAO클래스는 싱글톤으로 만들어줘야함

 

 

                                                                                                                                                                                                 

UserVO

UserVO.java
0.00MB

 

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

UserDAO.java
0.00MB

 

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

JDBCUtill.java
0.00MB

 

자주 사용하는 기능들은 묶어서 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

댓글