티스토리 뷰
선행 되어야 할 것
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이 출력된다.
'(구)개발' 카테고리의 다른 글
Spring Boot #3 / 스프링부트 Thymeleaf 이용하여 View영역 잡기 (0) | 2019.12.07 |
---|---|
Spring Boot #1/ 스프링부트 시작하기 (0) | 2019.11.30 |
GIS] 내 위치 중심 반경 검색하기 JAVA ANDROID ALTIBASE LEAFLET 지도 검색 (0) | 2019.07.31 |
하이브리드앱에서 내 위치(좌표) 가져오기 #webview #javascriptinterface #gps (0) | 2019.07.12 |
내 인생을 바꿔줄 JAVA소스, 로또 (0) | 2019.07.10 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 프로그래머스
- Oracle
- 이클립스
- docker
- 점심
- android
- 유플레이
- 토이프로젝트
- jenkins
- nba2k19
- 스프링
- 벤치멤버
- NBA
- 오라클
- Spring
- 쿼리
- 자바
- 엑스박스
- 디비전
- ec2
- 패드
- java
- 킹스의킹
- AWS
- springboot
- 게임
- 새크라멘토킹스
- 디비전2
- 수원
- 스팀
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함