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 |
Tags
- Lombok
- 네트워크
- spring
- github
- socket
- html
- git
- ajax
- cache
- reactor
- Elk
- redis
- Java
- libuv
- Linux
- 데이터통신
- network
- reactive
- HTTP
- nodejs
- mongodb
- javascript
- VCS
- AWS
- r
- effective
- NoSQL
- mybatis
- Heap
- Static
Archives
- Today
- Total
빨간색코딩
Mybatis와 spring 연동 (SqlSessionDaoSupport, SqlSessionTemplate) 본문
스프링과 연동하려면 마이바티스에서 제공해주는 API를 사용해야 한다. 다음과 같은 클래스를 쓴다.
- org.mybatis.spring.SqlSessionFactoryBean
- org.mybatis.spring.SqlSessionTemplate
1. 연동 기본설정
applicationContext-dao-config.xml 에 bean 을 추가한다.
<!-- SqlsessionFactory setup for MyBatis Database Layer -->
<bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<!-- mybatis 기본설정 -->
<property name="configLocation" value="classpath:/mybatis-config.xml"/>
<!-- mapper 의 위치를 설정 -->
<property name="mapperLocations" value="classpath:/mapper/*Mapper.xml"/>
</bean>
2. 연동방법1 : SqlSessionDaoSupport 상속
DAO클래스에 SqlSessionDaoSupport 를 상속받아서 사용한다.
// BoardDAO.java
@Autowired
public void setSqlSessionFactory(SqlSessionFactory sqlSessionFactory) {
super.setSqlSessionFactory(sqlSessionFactory)
}
public void insertBoard(BoardVO vo) {
getSqlSession().insert("BoardDAO.insertBoard", vo);
}
3. 연동방법2 : SqlSessionTemplate 클래스 활용
applicationContext-dao-config.xml 에 SqlSessionTemplate 를 bean 으로 등록하여 사용한다. SqlSessionTemplate 클래스에는 setter가 없어서 생성자로 주입할 수 밖에 없다.
// applicationContext-dao-config.xml
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory"></constructor-arg>
</bean>
// BoardDAO.java
@Autowired
private SqlSessionTemplate mybatis;
public void insertBoard(BoardVO vo) {
mybatis.insert("BoardDAO.insertBoard", vo);
}
'Spring' 카테고리의 다른 글
apache tiles (jsp include와 차이, Composite View 패턴, spring과 연동 설정, 예제) (0) | 2018.01.09 |
---|---|
freemarker (개념, jsp와 차이, 문법, spring과 연동 설정, 예제) (2) | 2018.01.09 |
EHCache (ehcache-spring-annotations, ehcache.xml, @Cacheable) (0) | 2018.01.05 |
Mapper XML (엘리먼트, CDATA) (0) | 2018.01.03 |
mybatis Framework (마이바티스 개념, ibatis와 차이, 구조, api, SqlSession) (1) | 2018.01.03 |
Comments