main.jsp -> get_db -> get.jsp -> 가지고 온 데이터 뿌려주기
긁어오는 작업
<%@page import="dto.BoardDTO"%>
<%@page import="dao.BoardDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<%
BoardDAO bdao = new BoardDAO();
//boardnum 꺼내오기
int boardnum = Integer.parseInt(request.getParameter("boardnum"));
//bdao에 getDetail() 메소드 생성
BoardDTO board = bdao.getDetail(boardnum);
String userid = (String)session.getAttribute("loginUser"); //세션에 있는 loginUser 꺼내오기
%>
<body>
<h2><%=board.getBoardtitle()%></h2>
<h3><%=board.getUserid()%></h3>
<h3><%=board.getRegdate() %></h3>
<textarea style="width:300px;" readonly><%=board.getBoardcontents()%></textarea>
<hr>
<a href="list_db.jsp">목록보기</a>
<%if(board.getUserid().equals(userid)){ %>
<a href="modify.jsp?boardnum=<%=board.getBoardnum()%>">수정</a>
<a href="#">삭제</a>
<%} %>
</body>
</html>
package dao;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import dto.BoardDTO;
import mybatis.SqlMapConfig;
public class BoardDAO {
private SqlSession sqlsession;
public BoardDAO() {
sqlsession = SqlMapConfig.getFactory().openSession(true);
}
public boolean writeBoard(BoardDTO board) {
return sqlsession.insert("Board.insertBoard",board) == 1;
}
public List<BoardDTO> getList(){
return sqlsession.selectList("Board.getList");
}
public BoardDTO getDetail(int boardnum) {
return sqlsession.selectOne("Board.getDetail",boardnum);
}
}
수정완료 버튼을 누르면 form에 있는 내용을 보내주면서 수정해달라고 제출해야함
<%@page import="dto.BoardDTO"%>
<%@page import="dao.BoardDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<%
int boardnum = Integer.parseInt(request.getParameter("boardnum")); //boardnum 받아오기
BoardDAO bdao = new BoardDAO();
BoardDTO board = bdao.getDetail(boardnum);
%>
<body>
<form action="modify_db.jsp" name="modifyForm" method="post">
<input type="hidden" name="boardnum" value="<%=board.getBoardnum()%>">
<input type="text" value="<%=board.getBoardtitle()%>" name="boardtitle">
<h3><%=board.getUserid()%></h3>
<textarea style="width:300px;" name="boardcontents"><%=board.getBoardcontents() %></textarea>
</form>
<hr>
<a href="list_db.jsp">목록보기</a>
<a href="javascript:document.modifyForm.submit()">수정완료</a>
//a태그에서 자바스크립트 코드를 쓸 때는 javascript: ~~ 하고 쓰면 됨
</body>
</html>
(처리부분 : 데이터 수집 - 처리 - 흐름나누기)
<%@page import="dto.BoardDTO"%>
<%@page import="dao.BoardDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
//데이터 수집
String boardtitle = request.getParameter("boardtitle");
String boardcontents = request.getParameter("boardcontents");
int boardnum = Integer.parseInt(request.getParameter("boardnum"));
//수정처리
BoardDTO board = new BoardDTO();
board.setBoardtitle(boardtitle);
board.setBoardcontents(boardcontents);
board.setBoardnum(boardnum);
BoardDAO bdao = new BoardDAO();
//흐름나누기
if(bdao.modifyBoard(board)){
%>
<script>
alert("게시글 수정 성공!")
location.replace("get.jsp?boardnum=<%=boardnum%>");
</script>
<%
}
else{
%>
<script>
alert("게시글 수정 실패!")
location.replace("get.jsp?boardnum=<%=boardnum%>");
</script>
<%
}
%>
package dao;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import dto.BoardDTO;
import mybatis.SqlMapConfig;
public class BoardDAO {
private SqlSession sqlsession;
public BoardDAO() {
sqlsession = SqlMapConfig.getFactory().openSession(true);
}
public boolean writeBoard(BoardDTO board) {
return sqlsession.insert("Board.insertBoard",board) == 1;
}
public List<BoardDTO> getList(){
return sqlsession.selectList("Board.getList");
}
public BoardDTO getDetail(int boardnum) {
return sqlsession.selectOne("Board.getDetail",boardnum);
}
public boolean modifyBoard(BoardDTO board) {
return sqlsession.update("Board.modify",board) == 1; //수정된 행의 갯수가 한개면 성공
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="Board">
<insert id="insertBoard" parameterType="boarddto">
insert into t_board (boardtitle,boardcontents,userid)
values(#{boardtitle},#{boardcontents},#{userid})
</insert>
<select id="getList" resultType="boarddto">
select * from t_board
</select>
<select id="getDetail" resultType="boarddto">
select * from t_board where boardnum=#{boardnum}
</select>
<update id="modify" parameterType="boarddto">
update t_board
set boardcontents = #{boardcontents}, boardtitle=#{boardtitle}
where boardnum=#{boardnum}
</update>
</mapper>