- JDBC(Java Database Connectivity) : 자바 프로그램 내에서 SQL문을 실행하기 위한 자바 API. (자바를 이용한 데이터베이스 접속과 SQL 문장의 실행, 그리고 실행 결과로 얻어진 데이터의 핸들링을 제공하는 방법에 대한 규약)
JDBC 클래스 생성단계:
- DriverManager를 통해 Connection 객체를 얻는다.
- Connection을 통해 Statement를 얻는다.
- Statement를 통해 ResultSet을 얻는다.
- 질의 수행 & 결과 받은 후 객체를 생성 반대순서로 Close한다.
- DAO(Data Access Object) : DAO, 말그대로 데이터베이스에 접근하기 위한 객체. DAO 구현을 통해 서비스 로직 부분과 DB에 접근하는 로직을 분리하여 작성할 수 있다. DB에 접근하기 위해 발생하는 connection 객체의 생성과 오버헤드를 보다 효율적으로 해결, 관리하기 위해 DB에 접속하는 전용 객체를 만들고, 모든 페이지는 이 객체를 호출해서 사용한다. CRUD 인터페이스를 작성하는 데이터 조작(DML)을 처리하는 역할이다.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import package.Role;
public class RoleDao {
private static String dburl = "jdbc:mysql://localhost:3306/dbname";
private static String dbUser = "username";
private static String dbpasswd = "userpassword";
public int addRole(Role role) {
int insertCount = 0;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
String sql = "INSERT INTO role (role_id, description) VALUES ( ?, ? )";
try (Connection con = DriverManager.getConnection(dburl, dbUser, dbpasswd);
PreparedStatement ps = con.prepareStatement(sql)) {
ps.setInt(1, role.getRoleId());
ps.setString(2, role.getDescription());
insertCount = ps.executeUpdate();
} catch (Exception ex) {
ex.printStackTrace();
}
return insertCount;
}
}
-부스트코스 웹 풀스택 강의 코드
- DTO(Data Transfer Object) : 별다른 로직을 갖고 있지않은 순수한 데이터 객체로서 계층 간 데이터 교환을 위한 객체. 순수한 데이터 객체로서 속성과 그 속성에 접근하기 위한 getter, setter 메소드만 가진 클래스이다.
package kr.or.connect.jdbcexam.dto;
public class Role {
private Integer roleId;
private String description;
public Role() {
}
public Role(Integer roleId, String description) {
super();
this.roleId = roleId;
this.description = description;
}
public Integer getRoleId() {
return roleId;
}
public void setRoleId(Integer roleId) {
this.roleId = roleId;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
@Override
public String toString() {
return "Role [roleId=" + roleId + ", description=" + description + "]";
}
}
-부스트코스 웹 풀스택 강의 코드
'SERVER > Spring' 카테고리의 다른 글
[Spring] Component와 @ComponentScan (0) | 2021.09.14 |
---|---|
[Spring] Bean Scope의 종류 (0) | 2021.09.12 |
[Spring] Bean Life Cycle(생명주기) (0) | 2021.09.11 |
[Spring] 스프링에서 의존성을 주입하는 방법 (0) | 2021.09.10 |
[Spring] IoC와 DI (0) | 2021.09.09 |