Springboot

[Spring Boot] MariaDB와 Spring JPA 사용하기

Jenny376 2023. 3. 14. 22:56
안녕하세요. hia의 개발 story입니다.

오늘은 스프링 JPA에 관한 글을 쓰려고 합니다.

Spring JPA는 공식 홈페이지에서 설명하는 것과 같이 Spring에서 Jakarta Persistence API(JPA)를 사용할 수 있도록 하는 것입니다.

JPA 데이터소스에 접근하기 쉽도록 만들어져 있어 간단한 설정만으로도 JPA를 사용할 수 있습니다.

CRUD(Crate, Read, Update, Delete) 작업을 쉽게 처리할 수 있습니다. 

 

 

Spring Data JPA - Reference Documentation

Example 119. Using @Transactional at query methods @Transactional(readOnly = true) interface UserRepository extends JpaRepository { List findByLastname(String lastname); @Modifying @Transactional @Query("delete from User u where u.active = false") void del

docs.spring.io

이제 만들어져 있는 스프링 프로젝트에 JPA를 적용해 보도록 하겠습니다.

먼저 JPA를 사용하기 위해서는 의존성 항목을 추가해주어야 합니다.

JPA 의존성 주입 

maven dependency

- pom.xml 에 <dependencies> 안에 입력.

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
    <version>2.7.0</version>
</dependency>

gradle dependency

- build.gradle 에 dependencies {} 안에 입력.

implementation 'org.springframework.boot:spring-boot-starter-data-jpa'

어떤 빌드 툴을 사용했는지에 따라 dependency를 입력해 주면 됩니다. 

 

이제 gradle을 다시 로드하여 실행시켜 보면 아래와 같은 에러가 발생합니다.

에러가 발생하는 이유는 아직 데이터베이스에 대한 설정이 되어있지 않기 때문입니다. 

그럼 이제 mariadb JDBC 드라이버를 설치하고 프로젝트 내에 MariaDB를 설정해 보겠습니다. 

 

MariaDB JDBC 드라이버 설치

 

mariadb 드라이버와 관련된 정보는 메이븐 레파지토리 사이트에서 찾아올 수 있습니다. 

아래 사이트에 접속하여 각각의 빌드툴에 맞게 dependency를 적용해 주면 됩니다. 

https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client/2.7.0

프로젝트 내에서 MariaDB 설정하기

 

적용이 완료되면 application.properties 파일에 MariaDB에 관련된 설정을 해줍니다. 

spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://localhost:3306/[설정한 database 이름]
spring.datasource.username=[사용자명]
spring.datasource.password=[비밀번호]

설정이 완료되고 다시 gradle을 로드하고 실행하면 에러 없이 잘 실행이 되는 걸 확인할 수 있습니다.