Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 1차원 DP
- 2차원 dp
- 99클럽
- @Builder
- @GeneratedValue
- @GenericGenerator
- @NoargsConstructor
- @Transactional
- Actions
- Amazon EFS
- amazon fsx
- Android Studio
- ANSI SQL
- ApplicationEvent
- assertThat
- async/await
- AVG
- AWS
- Azure
- bind
- builder
- button
- c++
- c++ builder
- c03
- Callback
- case when
- CCW
- chat GPT
- CICD
Archives
- Today
- Total
기록
[튜토리얼] springboot에 데이터베이스(MySql) 연결하기(1) 본문
1. 개발환경
- mac OS (m1)
- java 11
- intellij IDEA 2022.2.1 (Ultimate Edition)
- gradle
2. download mysql
install brew
cmd 창에 다음의 명령어를 입력하여 brew를 설치한다.
/bin/bash -c "$(curl -fsSL https://gist.githubusercontent.com/nrubin29/bea5aa83e8dfa91370fe83b62dad6dfa/raw/48f48f7fef21abb308e129a80b3214c2538fc611/homebrew_m1.sh)"
위와 같은 오류가 발생한다면, 아래 명령어를 입력한다.
eval $(/opt/homebrew/bin/brew shellenv)
install mysql
콘솔 창으로 mysql을 PC에 설치한다.
Caused by: java.sql.SQLException: Access denied for user '계정명'@'localhost'
비밀번호를 설정하지 않았을 때 위와 같은 오류가 발생해서 비밀번호를 변경해주었다.
brew update // 최신 업데이트
brew install mysql
mysql --version
mysql.server start
mysql -uroot -p // mysql 접속
// 초기 비밀번호 설정 없음(엔터)
create database testdb; // 데이터베이스 생성
// 계정 생성 전 설정
CREATE USER 'root'@'%' IDENTIFIED BY 'root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
// 계정 생성
create user 'youngyin'@'localhost' identified by 'youngyin';
GRANT ALL PRIVILEGES ON *.* TO 'youngyinl'@'localhost';
FLUSH PRIVILEGES ;
// 계정 생성 후 미리 설정한 root 권한 제거
drop user 'root'@'%';
// 비밀번호 변경
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '변경할-비밀번호';
quit // 접속 종료
mysql.server stop // mysql 서버 멈추기
install mysql workbench
MySQL 워크벤치는 SQL 개발과 관리, 데이터베이스 설계, 생성 그리고 유지를 위한 비주얼 데이터베이스 설계 도구이다. 데이터베이스의 변화를 쉽게 확인하기 위해서 이를 설치하였다.
㉮ OS버전에 맞는 워크벤치를 다운받는다.
㉯ Connection을 새로 생성한다. 위에서 설정한 정보(계정정보, 비밀번호 등)을 입력하여 connection에 성공함을 확인할 수 있다. (이를 확인하기 위해서는 설치한 mysql server가 기동 중이어야 한다.)
3. 프로젝트에 연결하기
import library
// build.gradle
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
annotationProcessor 'org.projectlombok:lombok'
compileOnly 'org.projectlombok:lombok'
implementation 'mysql:mysql-connector-java' // MySql
}
add resources/application.propertiese
# MySQL
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/testdb
spring.datasource.username=youngyin
spring.datasource.password=yourPassword
add Database
마찬가지로 설정한 정보를 입력해주고, Test Vonnection을 클릭한다. 테스트에 통과하기 위해서는 mySql server가 켜져 있어야 한다.
test 작성하기
public class MySqlConnTest {
private static final String DRIVER = "com.mysql.cj.jdbc.Driver";
private static final String URL = "jdbc:mysql://localhost:3306/testdb?serverTimezone=UTC&allowPublicKeyRetrieval=true&useSSL=false";
private static final String USER = "youngyin";
private static final String PASSWORD = "yourPassword";
@Test
public void testConnection() throws Exception {
Class.forName(DRIVER);
try {
Connection connection = DriverManager.getConnection(URL, USER, PASSWORD);
System.out.println(connection);
} catch (Exception e){
e.printStackTrace();
}
}
}
4. 마무리하면서
위 포스팅에서 데이터베이스와 프로젝트를 연결했고, 아직 mapper은 연결되지 않았다. 이후 포스팅에서 mybatics를 사용하여 데이터를 로컬 데이터베이스에 영속화하고자 한다.
'Web > Spring' 카테고리의 다른 글
[튜토리얼] 의존성 주입(1) 컴포넌트 스캔 (0) | 2022.09.07 |
---|---|
[튜토리얼] springboot에 데이터베이스(h2) 연결하기(2) (0) | 2022.09.01 |
[튜토리얼] spring boot 게시판 curd (0) | 2022.08.29 |
[튜토리얼] create spring boot project (0) | 2022.08.22 |
[환경설정] macOS/install Eclipse (0) | 2022.08.15 |
Comments