[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
        • 데이터베이스
        • 운영체제
      • 일상
        • 독서
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바