Spring DB 연동
Spring에서 DB 연결하는 방법을 간단히 알아보자.
1. gradle 설정
build.gradle에 아래와 같이 의존성을 추가해 주자.
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
//JDBC
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
//mariadb
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
}
2. DB datasource 설정
Spring project의 application.properties에서 아래와 같이 datasource 정보를 설정해 주자.
spring.datasource.url=jdbc:mariadb://localhost:3306/(db이름)
spring.datasource.username=(id)
spring.datasource.password=(pw)
위와 같이 간단하게 db 연동을 할 수 있다.
MyBatis 사용 방법
추가로 간단하게 MyBatis 사용을 위한 설정을 알아보자.
1. gradle 설정
build.gradle에 MyBatis 의존성을 추가해 주자.
//MyBatis
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0'
2. application.properties
application.properties에 아래와 같이 설정해 주자.
#MyBatis mapper.xml 파일 경로
mybatis.mapper-locations=classpath:mapper/**/*.xml
#MyBatis
mybatis.type-aliases-package=com.seoul_wifi_service.domain # data type 설정
mybatis.configuration.map-underscore-to-camel-case=true
#logging.level.hello.board.repository.mybatis=trace
type-aliases-package에는 MyBatis에서 데이터를 바인딩하고, 전달할 때 사용할 클래스(객체)의 패키지 경로를 작성한다.
3. Java 코드, xml
Mapper interface
Repository
mapper.xml
파일이 필요하다.
1) Mapper interface
@Mapper
public interface BookmarkMapper {
void save(Bookmark bookmark);
Bookmark findById(long id);
List<Bookmark> findAll();
void updateBookmarkGroupName(String before, String after);
void delete(long id);
void deleteByBookmarkGroupName(String name);
}
2) Repository
@Repository
@RequiredArgsConstructor
public class BookmarkRepository {
private final BookmarkMapper bookmarkMapper;
public Bookmark save(Bookmark bookmark){
bookmarkMapper.save(bookmark);
return bookmark;
}
//생략
//Mapper interface의 메서드들을 모두 사용하여 구현한다.
}
3) mapper.xml
Mapper interface가 존재하는 경로와 동일하게, resources 폴더에 경로를 설정한 뒤 아래와 같은 xml 파일을 만든다.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.seoul_wifi_service.repository.bookmark.BookmarkMapper">
<insert id="save" useGeneratedKeys="true" keyProperty="id">
insert into Bookmark(bookmark_group_name, wifi_manage_number, wifi_name, date_time)
values(#{bookmarkGroupName}, #{wifiManageNumber}, #{wifiName}, #{dateTime})
</insert>
</mapper>
MyBatis 상세 설명
2023.05.15 - [Database/데이터 접근 기술] - [MyBatis] 마이바티스 기본 사용법
[MyBatis] 마이바티스 기본 사용법
MyBatis란? MyBatis는 JdbcTemplate이 제공하는 대부분의 기능을 제공한다. 그러나 JdbcTemplate의 문제점 중 하나인 여러 줄의 String 형 sql을 작성해야 한다는 점을 MyBatis를 이용하여 해결할 수 있다. MyBatis
innovation123.tistory.com
반응형
'JAVA & Spring > Spring' 카테고리의 다른 글
[Spring Boot] @RequestMapping 매핑 (0) | 2023.10.02 |
---|---|
[Spring] application.properties와 application.yml의차이 (0) | 2023.08.18 |
[Spring MVC] @RequestBody와 @RequestHeader로 JSON 주고받기 (0) | 2023.08.13 |
[Spring / Transaction] 트랜잭션 실제 적용되고 있는지 확인하는 방법 (0) | 2023.05.17 |
[Spring] 세션, 쿠키, @SessionAttribute 로그인 확인 (0) | 2023.04.21 |