티스토리 뷰

선행 되어야 할 것

 

1. Mysql 설치 및 Schema 생성

2. 생성된 스키마아래 user_member 테이블 생성(컬럼은 대충 아무거나 자유)

 

 

1.Maven 의존성 주입

 

Pom.xml에 

 

<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
  <groupId>com.zaxxer</groupId>
  <artifactId>HikariCP</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-configuration-processor</artifactId>
  <optional>true</optional>
</dependency>
<dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>1.3.2</version>
</dependency>

 

위의 디펜던시들을 추가 후 저장

 

하면 알아서 빌드해서 받아 온다.

 

 

2. DB Config

 

클래스를 생성 하고

 

@Slf4j
@Configuration
@PropertySource("classpath:/application.properties")
@MapperScan(basePackages = "com.api.demo")
public class DataBaseConfiguration {
	
	@Autowired
	private ApplicationContext applicationContext;


	@Bean
	@ConfigurationProperties(prefix = "spring.datasource.hikari")
	public HikariConfig hikariConfig() {
		return new HikariConfig();
	}

	@Bean
	public DataSource dataSource() {
		DataSource dataSource = new HikariDataSource(hikariConfig());
		log.info("datasource : {}", dataSource);
		return dataSource;
	}
	
	@Bean
	public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
		SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
		sqlSessionFactoryBean.setDataSource(dataSource);
		sqlSessionFactoryBean.setMapperLocations(applicationContext.getResources("classpath*:mappers/**/*.xml"));
		return sqlSessionFactoryBean.getObject();
	}

	@Bean
	public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {
		return new SqlSessionTemplate(sqlSessionFactory);
	}
}

위와 같이 작성

 

그리고 application.properties로 이동해서

 

#DB
spring.datasource.hikari.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.hikari.jdbc-url=jdbc:mysql://[내가쓸IP]:[내가쓸PORT]/[내가쓸SCHEMA]
spring.datasource.hikari.username=내가쓸ID
spring.datasource.hikari.password=내가쓸PW

위와 같이 작성

 

 

 

3. Mappers

 

MapperLocation 설정을 위해

src/main/resources 아래에 mappers 폴더 생성 > 테스트를 위해 member.xml생성

 

member.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.api.demo.member.MemberMapper">
 
	<select id="selectMember" resultType="String">
		SELECT COUNT(*) AS CNT FROM USER_MEMBER
	</select>
	
</mapper>

 

 

4. Member 조회 biz

 

@RestController
public class MemberController {

	@Autowired
	private MemberService memberService;
	
	@RequestMapping("/userSel")
	public String memberSelect(){
		
		return memberService.selectMember();
		
	}
}
@Service
public class MemberService {
	
	@Autowired
	MemberMapper memberMapper;
	public String selectMember() {
		return memberMapper.selectMember();
	};
}
@Mapper
public interface MemberMapper{

	public String selectMember();
}

 

 

5. 테스트

 

요청처리 결과 테이블에 아무 데이터가 없기 때문에 0이 출력된다.

 

 

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함