[Spring boot] Spring boot와 MySQL 연동하기.

2020. 2. 24. 15:59·Backend/Spring

 

 

Spring boot에서 MySQL을 연동하는 방법을 포스팅하겠다.

신입 짜바리라 잘못된 방법일 수도 있으니 댓글을 부탁드립니다 ;_;

(추후 계속 수정하면서 추가할 내용들은 추가하고 수정할 내용들은 수정할 예정.)

 

 

 


 

 

1. dependency 추가

 

<dependency>

    <groupId>mysql</groupId>

    <artifactId>mysql-connector-java</artifactId>

    <version>5.1.47</version>

</dependency>

 

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-data-jpa</artifactId>

    <version>2.1.4.RELEASE</version>

</dependency>

 

 

 

2. application.properties

 

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.jdbc-url=jdbc:mysql://localhost:3306/스키마이름?serverTimezone=UTC&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=비밀번호

 

두번째 줄의 jdbc-url이 아닌 그냥 url로 입력시 에러가 날 수 있다.

이슈해결 카테고리에 써놓았긴 했지만 혹시 모르니 여기에도 언급은 해두겠다.

 

 

 

3. DataSourceConfig.java

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(entityManagerFactoryRef = "entityManagerFactory", transactionManagerRef = "transactionManager", basePackages = {"com.test.demo.repository.*" })
public class DataSourceConfig {
 
    @Primary
    @Bean(name = "dataSource")
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource dataSource() {
        return DataSourceBuilder.create().build();
    }
 
    @Primary
    @Bean(name = "entityManagerFactory")
    public LocalContainerEntityManagerFactoryBean entityManagerFactory(EntityManagerFactoryBuilder builder, @Qualifier("dataSource") DataSource dataSource) {
        return builder.dataSource(dataSource).packages("com.test.demo.domain.*").persistenceUnit("default").build();
    }
 
    @Primary
    @Bean(name = "transactionManager")
    public PlatformTransactionManager transactionManager(@Qualifier("entityManagerFactory") EntityManagerFactory entityManagerFactory) {
        return new JpaTransactionManager(entityManagerFactory);
    }
}
 

8번째 줄의 prefix에 'spring.datasource'라고 입력이 되어져 있다.

2번의 application.properties에도 'spring.datasource.XXX = XXX'라고 적혀져있음을 확인할 수 있다.

이름을 맞추어야 한다!

 

이렇게까지 하면 Spring boot에서 MySQL을 연동이 된다.

 

이러한 방식으로 같은 프로젝트 내에 다른 스키마를 사용할 경우 설정이 가능한데 이는 나중에 포스팅 해보도록 하겠다.

 

그럼 이만!

'Backend > Spring' 카테고리의 다른 글

[Spring boot] Junit  (0) 2020.03.08
[Spring boot] DBCP(DataBase Connection Pool)  (0) 2020.03.08
[Spring boot] 정적 리소스 사용  (0) 2020.02.23
[Spring] @Pattern 체크 시 필수값이 아닐 때  (0) 2020.02.23
[Spring boot] Spring boot에서 Thymeleaf 사용  (0) 2020.02.23
'Backend/Spring' 카테고리의 다른 글
  • [Spring boot] Junit
  • [Spring boot] DBCP(DataBase Connection Pool)
  • [Spring boot] 정적 리소스 사용
  • [Spring] @Pattern 체크 시 필수값이 아닐 때
나는 유찌
나는 유찌
쩌리쨩
  • 나는 유찌
    유찌 개발 일기
    나는 유찌
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 사이드 프로젝트
        • 게시판
        • 블로그(Spring boot + React.js ..
      • 데이터베이스
        • SQLD
      • 이슈 해결
      • Front
        • Javascript
        • Vue.js
        • HTML+CSS
      • Backend
        • Spring
        • ORM
        • JAVA
      • 공부
        • HTTP
        • OOP
        • 이것저것
        • 코딩테스트 | 알고리즘
      • Computer Science
        • Computer architecture
        • 데이터베이스
        • 운영체제
      • 일상
        • 독서
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    JWT이란?
    AccessDecisionVoter
    AntPathMatcher
    pessimisticlock
    Spring Security AccessDecisionManager
    jwt
    한국소설
    mssql
    refresh token
    DIRTY READ
    Kotlin AccessDecisionManager
    Kotlin AntPathMatcher
    Access Token Refresh Token
    권한 scope 처리
    웹 개발
    독서
    추리소설
    mysql 격리수준
    spring
    Spring boot에서 JWT 구현
    access token
    jwt 로그인 구현
    Spring Boot
    phantom read
    LeetCode
    redis 분산락
    role scope
    Access token 재발급
    히가시노 게이고
    spring 격리수준
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
나는 유찌
[Spring boot] Spring boot와 MySQL 연동하기.
상단으로

티스토리툴바