Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- jpa
- CS
- 메모리의 불연속적 할당
- 코드스테이츠 백엔드 과정 39기
- spring
- 웹개발
- 스프링
- Inverted Page Table
- 프로세스 불연속 할당
- 프로세스 할당
- 메모리 관리
- linux
- 2단계 Page Table
- 문제풀이
- 웹 프로그래밍
- 알고리즘
- 자바 문제풀이
- 다단계 페이지 테이블
- 리눅스
- Effective Access Time
- 스프링부트
- Page Table의 구현
- Allocation of Physical Memory
- 자바 알고리즘
- 운영체제
- Shared Page
- Segmentation with Paging
- annotation
- springboot
- 프로세스 동기화
Archives
- Today
- Total
GrowMe
[Spring 설정]Mybatis와 SqlSessionTemplate 본문
*MyBatis?
- SQL Mapping Framework : 편리하게 데이터베이스에 엑세스할 수 있는 프레임워크
- 자바 코드로부터 SQL문을 분리해서 관리
- 작성할 코드가 줄어 생산성 향샹 & 유지 보수 편리 ( E = mc^2)
- 스프링 뿐 아니라 다른 언어와도 결합 가능
- 쿼리문을 수행해주는 PreparedStatement를 직접 생성할 필요없이, 내부적으로 자동 처리
- #{필드명} -> vo.get필드명(); -> 필드명과 일치하는 getter 메서드 호출 후 값 반환
*SqlSessionTemplate?
- MyBatis 쿼리문을 수행해주는 역할
- MyBatis 3.0 이전에 사용하던 방식
- DAO 클래스에 직접 SqlSession 객체를 선언, @Autowired로 의존주입해 쿼리문을 수행
1. root-context.xml에 SqlSessionFactory 빈 등록
- SqlSessionFactory : 데이터베이스와의 연결 및 SQL 실행에 대한 모든 것을 가진 가장 중요한 객체
--> SqlSession을 생성하여 제공 - SqlSession : SQL 명령을 수행하는데 필요한 메서드 제공
- dataSource를 참조하여 MyBatis와 Mysql 서버를 연동시켜준다
- MyBatis는 SQL Mapping 프레임워크로서 별도 설정 파일을 가질 수 있다.
src/main/resource 경로에 mybatis-config.xml 파일 추가 -> root-context.xml에 configLocation 속성 추가 - 'mapperLocations' 속성 : MyBatis의 xml 파일이 Mapper 클래스와 클래스패스(직전 경로)가 다를경우
Mapper 파일의 경로 따로 지정
--> 와일드카드 매핑 : /mappers 폴더안에 /*Mapper.xml로 끝나는 파일은 DAO 설정파일로 모두 읽는다
*datasource
2. SqlSessionTemplate - sqlSessionFactory와 연결
- MyBatis 쿼리문 수행 객체를 설정 : sqlSession
- constructor-arg : 생성자를 통한 의존성 DI 설정 (ref가 bean의 id를 호출함)
- DAO 메서드 인자값으로 "key" key 이름을 부여
- 쿼리문을 수행하는 xml파일(ex : boardMapper.xml)의 <select> 등의 태그의 id 속성에 동일한 key 이름으로 지정 - DAO 메서드와 연동 --> DAO 파일의 "key"== Mapper 파일의 id / DAO 파일의 key == 쿼리문에서 수행할 변수(매개변수)
* SqlSession의 주요 메서드
- @Autowired에 SqlSession을 주입하여 위 메서드를 사용할 수 있다
'About Spring' 카테고리의 다른 글
[Spring] DTO의 개념과 그 활용 방법 (0) | 2022.06.27 |
---|---|
[Spring]DI를 코드 + a로 쉽게 이해해보자 (0) | 2022.06.27 |
[Spring]AOP를 코드 + a 로 쉽게 이해해보자 (0) | 2022.06.21 |
SpringBoot 주요 애너테이션과 메서드 및 주의사항(지속 업데이트 중) (0) | 2022.06.19 |
Spring FrameWork와 MVC 패턴 (0) | 2022.06.05 |
Comments