티스토리 뷰
1. JdbcTemplate
- 데이터베이스에 접속할 수 있도록 도와주는 자바 API
- Jdbc API에서 반복되는 코드를 제거해 사용할 수 있도록 제공하는 라이브러리
2. DB 설정
//build.gradle
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
runtimeOnly 'com.h2database:h2'
}
//application.properties
spring.h2.console.enabled=true
spring.datasource.url=jdbc:h2:mem:test
3. 관리할 객체 생성
package first;
public class Member {
private long id;
private String fName;
private String lName;
public Member(long id, String fName, String lName) {
this.id = id;
this.fName = fName;
this.lName = lName;
}
public long getId() {
return id;
}
public String getFName() {
return fName;
}
public String getLName() {
return lName;
}
}
4. DB 초기화
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
5. JdbcRepository
- Jdbc Template를 통해 쿼리를 실행해 CRUD 작업을 수행하고, RowMapper를 사용해 DB결과를 도메인 객체로 변환한다.
@Repository
public class JdbcMemberRepository implements MemberRepository {
private final JdbcTemplate jdbcTemplate;
public JdbcMemberRepository(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
@Override
public void save(Member member) { ... }
@Override
public List<Member> findAll() { ... }
@Override
public Member findById(Long id) { ... }
@Override
public void update(Member member) { ... }
@Override
public void delete(Long id) { ... }
private RowMapper<Member> memberRowMapper() { ... }
}
'Spring' 카테고리의 다른 글
프로젝트에서 사용한 주요 JPA : Entity, Mapping, 논리적 삭제 (0) | 2024.09.30 |
---|---|
예외 처리와 로깅 설정 (0) | 2024.09.30 |
API 예외처리 (0) | 2024.07.01 |
Spring MVC (0) | 2024.06.28 |
REST API (0) | 2024.06.28 |