JAVA
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와 연결 해준다.
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를 추가해주어 반복적으로 서버를 사용할때 서버가 다운되는 것을 예방하도록 한다.
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파일에서 입력된 값을 불러오고 연동해주는데 사용한다.