BoardDAO생성
DAO생성시 기본적으로 가져가야 하는 기능들은 UserDAO에서 가져온다.
public class BoardDAO {
//BoardDAO는 불필요하게 여러개 만들어질 필요가 없기 때문에
//한개의 객체만 만들어지도록 singleton형식으로 설계함
//1. 나자신의 객체를 생성해서 1개로 제한함.
private static BoardDAO instance = new BoardDAO();
//2. 직접 객체를 생성 할 수 없도록 생성자에 private
private BoardDAO() {
//드라이버클래스 로드
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
System.out.println("드라이버 클래스 로드 에러");
e.printStackTrace();
}
}
//3. 외부에서 객체생성을 요구할때 getter메서드를 통해 1번의 객체를 반환
public static BoardDAO getInstance() {
return instance;
}
//4. 필요한 데이터베이스 변수 선언
public String URL = "jdbc:oracle:thin:@localhost:1521:xe";
public String UID = "jsp";
public String UPW = "jsp";
private Connection conn;
private PreparedStatement pstmt;
private ResultSet rs;
//5. 메서드
}
regist메서드 추가 (작성한 글을 데이터베이스에 Insert하는 메서드)
public void regist(String writer, String title, String content) {
String sql = "INSERT INTO board (bno, writer, title, content) VALUES(board_seq.nextval, ?, ?, ? )";
try {
conn=DriverManager.getConnection(URL, UID, UPW);
pstmt =conn.prepareStatement(sql);
pstmt.setString(1, writer);
pstmt.setString(2, title);
pstmt.setString(3, content);
pstmt.executeUpdate(); //실행
} catch (Exception e) {
e.printStackTrace();
}finally {
JDBCUtill.close(conn, pstmt, rs);
}
}
BoardVO생성
(데이터베이스에 있는 테이블 컬럼들을 Private으로 생성)
Constructor / Constructor Using Fields / Getter / Setter 생성
public class BoardVO {
private int bno;
private String writer;
private String title;
private String content;
private Timestamp regdate;
private int hit;
}
'jsp' 카테고리의 다른 글
MVC2 패턴 예시 마이 페이지 & 정보 수정 (0) | 2022.12.06 |
---|---|
MVC2패턴 process & jsp 내장객체 메서드 (1) | 2022.12.06 |
MVC2패턴 게시판 만들기 (Controller & Interface & Service) (0) | 2022.12.06 |
MVC2 (User) controller & service (0) | 2022.12.06 |
MVC2 예시 (user폴더)(join/login/mypage) (1) | 2022.12.05 |
댓글