1. MyBatis이용

의존성
dependencies {
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0'
runtimeOnly 'mysql:mysql-connector-java'
}
Mapper Interface
Mapper.xml에 있는 SQL 쿼리문을 호출하기 위한 인터페이스
( @Mapper 어노테이션을 사용하여 빈으로 등록, Service단에서 Autowired 하여 사용 )
인터페이스 이름을 Mapper.xml 파일의 mapper namespace값과 맞춰준다
메소드 명은 Mapper.xml 파일의 id와 맞춰준다.
@Mapper
매퍼 등록을 위한 인터페이스에 선언하여 사용한다.
@MapperScan
매퍼를 하나씩 등록하는게 아닌 패키지 경로를 지정하여 이하 위치에있는 인터페이스들은 전부 맵퍼로 사용할수있다.
package com.sns.invest.config;
import javax.sql.DataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
@Configuration
@MapperScan(basePackages="com.sns.invest.*")
public class DatabaseConfig {
@Bean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(dataSource);
Resource[] res = new PathMatchingResourcePatternResolver().getResources("classpath:mappers/*Mapper.xml");
sessionFactory.setMapperLocations(res);
return sessionFactory.getObject();
}
}
2. Jpa 이용

의존성
dependencies {
runtimeOnly 'mysql:mysql-connector-java'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
}
'Spring' 카테고리의 다른 글
| springBoot( DB Oracle연동 )프로젝트에서, DB관련 오류메세지 (0) | 2023.04.12 |
|---|---|
| @MapperScan (0) | 2023.02.14 |
| DB 커넥션 풀(Connection pool) , HikariCP (1) | 2022.12.05 |
| @Controller쪽 에서 HttpServletRequest (0) | 2022.11.21 |
| Spring Boot와 Spring Framework의 차이점 (1) | 2022.10.24 |