DAO (Data Access Object)
데이터베이스에 접속해서 데이터 추가, 삭제, 수정 등의 작업을 하는 클래스.
유지보수와 코드의 모듈화를 위해 별도의 클래스로 만들어 사용함.
*singleton 패턴을 이용해 하나의 객체만 만들어 사용한다
DTO (Data Transfer Object)
DAO 클래스를 이용하여 데이터베이스에서 데이터를 관리할 때 해당 데이터의 클래스를 만들어 사용.
PreparedStatement
Statement 객체를 사용하는 것보다 코드를 간결하게 만들 수 있음.
1 2 3 4 5 6 7 8 9 10 11 | Class.forName(driver); connection = DriverManager.getConnection(url, uid, upw); int n; String query = "insert into member (id, pw, name, phone) values (?, ?, ?, ?)"; preparedStatement = connection.prepareStatement(query); preparedStatement.setString(1, "aaa"); preparedStatement.setString(2, "111"); preparedStatement.setString(3, "autumn"); preparedStatement.setString(4, "010-111-1111"); n = preparedStatement.executeUpdate(); | cs |
커넥션 풀 (DBCP)
다수의 클라이언트 요청이 발생할 경우 데이터베이스에 부하가 발생하는 문제를 해결하기 위해
커넥션 풀 기법을 이용함.
커넥션객체를 미리 여러 개(pool) 만들어 놓고 클라이언트의 요청이 오면 바로 사용.
서버에 미리 만들어놓는 것이므로 자바가 아닌 웹 서버(tomcat 컨테이너) 에서 작업.
context.xml 파일에 다음의 코드를 추가한다.
1 2 3 4 5 6 7 8 9 10 11 | <Resource auth = "Container" driverClassName = "com.mysql.jdbc.Driver" url = "jdbc:mysql://localhost:3306/test" username = "autumn" password = "8386" name = "jdbc/mysql" type = "javax.sql.DataSource" maxActive = "50" maxWait = "1000" /> | cs |
그리고 다음과 같이 사용.
1 2 3 4 5 6 | Context context = new InitialContext(); dataSource = (DataSource)context.lookup("java:comp/env/jdbc/mysql"); con = dataSource.getConnection(); stmt = con.createStatement(); | cs |
'JSP, Servlet > Summary' 카테고리의 다른 글
JSP/Servlet : JSTL (JSP Standard Tag Library) (0) | 2017.01.23 |
---|---|
JSP/Servlet : Expression Language (0) | 2017.01.23 |
JSP/Servlet : mysql - eclipse 연동하기 (0) | 2017.01.16 |
JSP/Servlet : 데이터베이스, 기본SQL문 (0) | 2017.01.13 |
JSP/Servlet : 예외 페이지 (Exception Page) (0) | 2017.01.09 |