59일차_JAVA

서창민·2023년 6월 2일
0

JAVA

목록 보기
12/21
post-thumbnail

23.06.02 59일차

JAVA

  • 게시판 CRUD
Board Service interface 소스

package Board;

import java.util.*;

public interface BoardService {
	void insert(BoardVO vo);
	void update(BoardVO vo);
	void delete(int idx);
	BoardVO selectOne(int idx);
	List<BoardVO> selectAll(BoardVO vo);
}

기본적인 CRUD 선언 소스이다.


  • 서비스 메소드 선언
package Board;

import java.util.*;

public class BoardServiceImpl implements BoardService{
	BoardDao dao = null;
	public BoardServiceImpl() {
		dao=new BoardDaoImpl();
	}
	@Override
	public void insert(BoardVO vo) {
		dao.insert(vo);
		
	}
	@Override
	public void update(BoardVO vo) {
		dao.update(vo);
		
	}
	@Override
	public void delete(int idx) {
		dao.delete(idx);
		
	}
	@Override
	public BoardVO selectOne(int idx) {
		return dao.selectOne(idx);
	}
	@Override
	public List<BoardVO> selectAll(BoardVO vo) {
		return dao.selectAll(vo);
	}

}

인터페이스의 메소드를 불러와 오버라이딩 하여 DAO와 연결 해준다.


  • DAO IMPLEMENT
package Board;

import java.sql.*;
import java.util.*;

public class BoardDaoImpl implements BoardDao{
	DBConnection dbconn = null;
	Connection conn = null;
	PreparedStatement pstmt = null;
	
    
    @Override
	public void insert(BoardVO vo) {
		try {
			dbconn = DBConnection.getInstance();
			conn = dbconn.getConnection();
			System.out.println("DAO 확인" + vo);
		
			String INSERT_SQL = "insert into board(idx, title, name) values(board_idx.nextval,?,?)";
			pstmt = conn.prepareStatement(INSERT_SQL);
			pstmt.setString(1, vo.getTitle());
			pstmt.setString(2, vo.getName());
			pstmt.executeUpdate();
	
			
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			dbconn.close1(pstmt, conn);
		}
	}

CRUD 쿼리문을 작성하는 DAO IMPLEMENT 소스이다.
DB와 먼저 연동을 해준 뒤 쿼리문을 작성 한 뒤 동작을 하도록 한다.
중요한 점은 finally를 추가해주어 반복적으로 서버를 사용할때 서버가 다운되는 것을 예방하도록 한다.


  • BoardController
package Board;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class BoardControl
 */
@WebServlet("/BoardController")
public class BoardController extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public BoardController() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
//		response.getWriter().append("Served at: ").append(request.getContextPath());
		String title =request.getParameter("title");
		String name =request.getParameter("name");
		BoardService service = new BoardServiceImpl();
		BoardVO vo = new BoardVO();
		vo.setTitle(title);
		vo.setName(name);
		service.insert(vo);
		System.out.println("id 확인:" + title );
		System.out.println("pwd 확인:" + name);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

DB와 연동을 하는 suvlet 파일이다.
JSP파일에서 입력된 값을 불러오고 연동해주는데 사용한다.


profile
Back-end Developer Preparation Students

0개의 댓글