본문 바로가기

Spring Boot

20230604_스프링부트학습

* DataSource

@Bean
@ConditionalOnSingleCandidate(DataSource.class)
@ConditionalOnMissingBean
JdbcTemplate jdbcTemplate(DataSource dataSource) {
return new JdbcTemplate(dataSource);
}

@Bean
@ConditionalOnSingleCandidate(DataSource.class)
@ConditionalOnMissingBean
JdbcTransactionManager jdbcTransactionManager(DataSource dataSource) {
return new JdbcTransactionManager(dataSource);
}

 

 

jdbcTemplate 을 이용한 DB접근 방식

@Repository
public class HelloRepositoryJdbc implements HelloRepository {
private final JdbcTemplate jdbcTemplate;

public HelloRepositoryJdbc(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}


@Override
public Hello findHello(String name) {
return jdbcTemplate.queryForObject("select * from hello where name = '" + name + "'",
(rs, rowNum) -> new Hello(
rs.getString("name"), rs.getInt("count")
));
}

@Override
public void increaseCount(String name) {
Hello hello = findHello(name);
if (hello == null) jdbcTemplate.update("insert into hello values(?,?)", name, 1);
else jdbcTemplate.update("update hello set count = ? where name = ?", hello.getCount() + 1, name);
}
}

 

'Spring Boot' 카테고리의 다른 글

인프런_토비의 스프링부트_정리본_20230606  (0) 2023.06.06
스프링부트학습_20230604_2  (0) 2023.06.04
20230528_스프링부트학습  (0) 2023.05.28
20230526_스프링부트 학습  (0) 2023.05.26
20230521_스프링부트 학습  (0) 2023.05.21