Java의 MyBatis+Spring 프레임워크에서 데이터 액세스 대상 DAO 모드를 사용하는 방법
SqlSessionTemplate는 MyBatis-Spring의 핵심입니다.이 클래스는 MyBatis의 SqlSession을 관리하고 MyBatis의 SQL 방법을 호출하여 이상을 번역합니다.SqlSessionTemplate는 여러 DAO가 공유하여 사용할 수 있는 안전한 라인입니다.
SQL 메서드를 호출할 때, 맵퍼 getMapper () 메서드에서 되돌아오는 메서드를 포함하고, SqlSessionTemplate는 현재 Spring의 업무와 관련된 SqlSession을 사용할 것을 보장합니다.또한 세션의 생명주기를 관리하고 필요한 닫기, 제출 또는 스크롤 작업을 포함합니다.
SqlSessionTemplate는 SqlSession을 실현했다. 이것은 바로 MyBatis의 SqlSession을 간단하게 교체해야 한다는 것이다.
Sql Session Template는 기본 MyBatis를 대체하는 데 사용되는 Default Sql Session입니다. 스프링에 참여할 수도 없고 주입될 수도 없습니다. 라인이 안전하지 않기 때문입니다.같은 응용 프로그램에서 두 종류 간의 전환은 데이터의 일치성에 문제를 일으킬 수 있다.
SqlSessionTemplate 대상은 SqlSessionFactory를 구조 방법의 매개 변수로 사용할 수 있습니다.
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory"/>
</bean>
이 bean은 지금 DAO bean에 직접 주입할 수 있습니다.다음 코드와 같이 bean에 SqlSession 속성을 추가해야 합니다.
public class UserDaoImpl implements UserDao{
private SqlSession sqlSession;
public void setSqlSession(SqlSession sqlSession){
this.sqlSession = sqlSession;
}
public User getuser(String userId){
return (User)sqlSession.selectOne
("org.mybatis.spring.sample.mapper.UserMapper.getUser",userId);
}
}
다음과 같이 SqlSessionTemplate를 주입합니다.
<bean id="userDao" class="org.mybatis.spring.sample.dao.UserDaoImpl">
<property name="sqlSession" ref="sqlSession"/>
</bean>
SqlSessionDaoSupportSqlSessionDaoSupport는 추상적인 지원 클래스로 SqlSession을 제공합니다.getSqlSession () 메서드를 호출하면 SqlSessionTemplate를 얻을 수 있습니다. 그러면 다음과 같이 SQL 메서드를 실행할 수 있습니다.
public class UserDaoImpl extends SqlSessionDaoSupport implements UserDao{
public User getUser(String userId){
return (User)getSqlSession().selectOne
("org.mybatis.spring.sample.mapper.UserMapper.getUser",userId);
}
}
보통 Mapper Factory Bean은 별도의 코드가 필요하지 않기 때문에 이런 종류의 첫 번째 선택이다.하지만 DAO에서 다른 비MyBatis의 일을 하거나 구체적인 클래스를 필요로 한다면 이 클래스는 매우 유용하다.SqlSessionDaoSupport는 sqlSessionFactory 또는 sqlSessionTemplate 속성을 설정해야 합니다.이것들은 명확하게 설정되거나 스프링에 의해 자동으로 어셈블됩니다.만약 둘 다 설정된다면, sqlSessionFactory는 무시됩니다.클래스 UserMapperImpl이 SqlSessionDaoSupport의 하위 클래스라고 가정하면 Spring에서 다음과 같이 구성할 수 있습니다.
<bean id="userMapper" class="org.mybatis.spring.sample.mapper.UserMapperImpl">
<property name="sqlSessionFactory" ref="sqlSessionFactory"/>
</bean>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MyBatis + SpringBoot로 CRUD 앱 만들기 ※ 불필요한 것은 배 ※ 1/2MyBatis를 사용하여 ToDo 목록을 만듭니다. 할 일 등록 (블랭크를 등록 할 수 없음) 할 일보기 할 일 변경 할 일 지우기 SpringBoot의 CRUD가 가능한 책은 있지만 MyBatis를 사용한 것은 적...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.