728x90
반응형
SMALL
안녕하세요!
프뚜(프로그래머 뚜)입니다!
[개발 환경]
- OS: windows 10 64bit
- DB: PostgreSQL 15.0
1. PostgreSQL 접속하기
설치가 되어있지 않다면 링크를 통해 PostgreSQL 설치하시면 됩니다.
2. DB 계정 생성&권한 부여하기
// 2022.10.28[프뚜]: 계정 생성
CREATE ROLE [USER] WITH LOGIN PASSWORD '[PASSWORD]';
// 2022.10.28[프뚜]: CREATEDB 권한 부여
ALTER USER [USER] WITH CREATEDB;
// 2022.10.28[프뚜]: SUPERUSER 권한 부여
ALTER USER [USER] WITH SUPERUSER;
// 2022.10.28[프뚜]: CREATEROLE 권한 부여
ALTER USER [USER] WITH CREATEROLE;
ssjeong의 계정을 생성했습니다.
\du 명령어를 통해 ssjeong 계정이 생성됨을 확인합니다.
ssjeong 계정에 권한을 부여합니다.
\du 명령어를 통해 ssjeong 계정의 권한 부여가 잘 되었는 지 확인합니다.
3. DB 스키마 생성하기
// 2022.10.28[프뚜]: DATABASE 생성
CREATE DATABASE [DATABASE NAME];
// 2022.10.28[프뚜]: 생성되어 있는 데이터베이스 목록 확인
\l
4. 생성한 스키마에 권한 부여하기
GRANT ALL PRIVILEGES ON DATABASE [DATABASE NAME] TO [USER];
5. gradle 추가하기
// 2022.10.28[프뚜]: postgreSQL
implementation 'org.postgresql:postgresql:42.5.0'
// 2022.10.28[프뚜]: log4jdbc-log4j2
implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16'
6. application.properties 추가하기
# 2022.10.28[프뚜]: Datasource Configuration
spring.datasource.hikari.maximum-pool-size=4
spring.datasource.url=jdbc:postgresql://127.0.0.1:5432/tistory
spring.datasource.username=ssjeong
spring.datasource.password=ssjeong
7. PostgreSQLConfig Class 생성하기
@Component
public class PostgreSQLConfig implements ApplicationRunner {
private final DataSource dataSource;
private final JdbcTemplate jdbcTemplate;
public PostgreSQLConfig(DataSource dataSource,
JdbcTemplate jdbcTemplate) {
this.dataSource = dataSource;
this.jdbcTemplate = jdbcTemplate;
}
@Override
public void run(ApplicationArguments args) throws Exception {
try (Connection connection = dataSource.getConnection()){
System.out.println("[프뚜] > dataSource Class > " + dataSource.getClass());
System.out.println("[프뚜] > URL > " + connection.getMetaData().getURL());
System.out.println("[프뚜] > userName > " + connection.getMetaData().getUserName());
Statement statement = connection.createStatement();
String sql = "CREATE TABLE TBL_TEST(NO INTEGER NOT NULL, TEST_NAME VARCHAR(255), PRIMARY KEY (NO))";
statement.executeUpdate(sql);
}
jdbcTemplate.execute("INSERT INTO TBL_TEST VALUES (1, 'ssjeong')");
}
}
dataSource, jdbcTemplate Bean연결을 합니다.
Runner에서 @Override된 run에 정상적으로 연결&실행이 되는 지 테스트합니다.
정상적으로 연결됨을 확인할 수 있습니다.
\connect [database]로 접속합니다.
정상적으로 테이블 생성, 데이터 추가가 완료되었습니다.
전체적인 소스코드는 github에 공유되어있습니다.
(제목과 git history는 1:1 매칭입니다.)
728x90
반응형
LIST
'프로그램 > JAVA' 카테고리의 다른 글
[Spring] Redis Jedis에서 Lettuce로 변경하기(Lettuce Config 세팅) (2) | 2022.11.17 |
---|---|
[JPA] Spring boot JPA 연결 및 사용하기 (1) | 2022.10.30 |
[JAVA] Spring Boot에서 WebSocket 구축 및 사용하기 (1) | 2022.10.27 |
[Windows 10] JAVA 1.8 설치 & JAVA_HOME 세팅하기 (3) | 2022.10.26 |
[JAVA] 파일 이름, 경로, 확장자명 나누기 (1) | 2022.10.03 |