[ 댓글 DB에 맞는 vo, dao, service 만들기 ]
댓글을 달 댓글 테이블을 생성 해 주고 해당 테이블 vo, dao, service 클래스를 생성 해준다.
create table img_reps(
num number primary key,
pnum number references imgboard(num) on delete cascade,
writer varchar2(20) references member(id) on delete cascade,
content varchar2(100)
);
▶ vo 클래스 생성
package img_reps;
public class ImgrepVo {
private int num;
private int pnum;
private String writer;
private String content;
public ImgrepVo(int num, int pnum, String writer, String content) {
super();
this.num = num;
this.pnum = pnum;
this.writer = writer;
this.content = content;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public int getPnum() {
return pnum;
}
public void setPnum(int pnum) {
this.pnum = pnum;
}
public String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
@Override
public String toString() {
return "ImgrepVo [num=" + num + ", pnum=" + pnum + ", writer=" + writer + ", content=" + content + "]";
}
}
▶ dao 클래스 생성
package img_reps;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import conn.DBConnect;
public class ImgrepsDao {
private DBConnect dbconn;
public ImgrepsDao() {
dbconn = DBConnect.getInstance();
}
public void insert(ImgrepVo vo) {
Connection conn = dbconn.conn();
String sql = "insert into img_reps values (seq_img_reps.nextval, ?, ?, ?)";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, vo.getPnum());
pstmt.setString(2, vo.getWriter());
pstmt.setString(3, vo.getContent());
pstmt.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public ArrayList<ImgrepVo> selectByPnum(int pnum) {
ArrayList<ImgrepVo> list = new ArrayList<ImgrepVo>();
Connection conn = dbconn.conn();
String sql = "select * from img_reps where pnum = ? order by num desc";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, pnum);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
list.add(new ImgrepVo(rs.getInt(1), rs.getInt(2), rs.getString(3), rs.getString(4)));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return list;
}
}
▶ service 클래스 생성
package img_reps;
import java.util.ArrayList;
public class ImgrepsService {
private ImgrepsDao dao;
public ImgrepsService() {
dao = new ImgrepsDao();
}
public void add (ImgrepVo vo) {
dao.insert(vo);
}
public ArrayList<ImgrepVo> getReps(int pnum) {
return dao.selectByPnum(pnum);
}
}
'비동기 요청' 카테고리의 다른 글
[비동기 요청] 비동기 요청을 이용한 이미지 게시판 만들기 ⑤ (0) | 2023.04.09 |
---|---|
[비동기 요청] 비동기 요청을 이용한 이미지 게시판 만들기 ④ (0) | 2023.04.07 |
[비동기 요청] 비동기 요청을 이용한 이미지 게시판 만들기 ③ (0) | 2023.04.06 |
[비동기 요청] 비동기 요청을 이용한 이미지 게시판 만들기 ① (0) | 2023.04.06 |