Print
카테고리: [ Development ]
조회수: 4183

1. 배경

Springboot 기반으로 PostgreSQL 연동하여 작업 실행.


2. Maven Dependency

<dependency>
  <groupid>org.postgresql</groupid>
  <artifactid>postgresql</artifactid>
</dependency></pre>

3. application.properties에 JDBC 설정 추가

spring.datasource.hikari.jdbcUrl=jdbc:postgresql://[주소:포트/DB이름]
spring.datasource.hikari.username=[계정]
spring.datasource.hikari.password=[패스워드]
spring.datasource.hikari.pool-name=[풀이름]

4. DataSource 설정

import javax.sql.DataSource;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;

@Configuration
public class DatabaseConfig {
    @Bean
    @ConfigurationProperties(prefix = "spring.datasource.hikari")
    public HikariConfig hikariConfig() {
        return new HikariConfig();
    }

    @Bean
    public DataSource dataSource() {
        return new HikariDataSource(hikariConfig());
    }
}

5. 실제 코드 부분

5.1. DataSource

   @Autowired
    private DataSource dataSource;

5.2. 데이터 인서트 예제

   public void add(String key, String value) {
        String sql = "INSERT INTO key_log ";
        sql += " ( key, value )";
        sql += " VALUES ( ?, ? )";

        try (Connection conn = dataSource.getConnection();
            PreparedStatement preparedStmt = conn.prepareStatement(sql);) {
            preparedStmt.setString(1, key);
            preparedStmt.setString(2, value);
            preparedStmt.execute();
        } catch (SQLException e) {
            log.error(e.getMessage());
            e.printStackTrace();
        } finally {
                        //
        }