MyBatis 집합 Spring (2) 의 SqlSession
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory" />
</bean>
이제 우 리 는 SqlSessionBean 을 Spring 의 임의의 Bean 에 주입 하고 SqlSession 대상 을 활용 하여 SQL 맵 의 성명 을 실행 할 수 있 습 니 다.
public class StudentDaoImpl implements StudentDao
{
private SqlSession sqlSession;
public void setSqlSession(SqlSession session)
{
this.sqlSession = session;
}
public void createStudent(Student student)
{
StudentMapper mapper =
this.sqlSession.getMapper(StudentMapper.class);
mapper.insertStudent(student);
}
}
만약 XML 을 기반 으로 Spring 의 Bean 을 설정 하고 있다 면, SqlSession 의 Bean 을 Student Daoimpl 에 주입 할 수 있 습 니 다.
<bean id="studentDao" class="com.owen.mybatis.dao.StudentDaoImpl">
<property name="sqlSession" ref="sqlSession" />
</bean>
주 해 를 기반 으로 설정 했다 면 아래 방법 을 사용 할 수 있 습 니 다.
@Repository
public class StudentDaoImpl implements StudentDao
{
private SqlSession sqlSession;
@Autowired
public void setSqlSession(SqlSession session)
{
this.sqlSession = session;
}
public void createStudent(Student student)
{
StudentMapper mapper =
this.sqlSession.getMapper(StudentMapper.class);
mapper.insertStudent(student);
}
}
SqlSession 의 대상 을 주입 하 는 다른 방법 도 있 습 니 다. SqlSession Dao Support 를 계승 할 수 있 습 니 다.이 방법 은 실 행 된 매 핑 문 구 를 제외 하고 신체 의 모든 사용자 정의 논 리 를 수행 할 수 있다.
public class StudentMapperImpl extends SqlSessionDaoSupport implements
StudentMapper
{
public void createStudent(Student student)
{
StudentMapper mapper =
getSqlSession().getMapper(StudentMapper.class);
mapper.insertAddress(student.getAddress());
//Custom logic
mapper.insertStudent(student);
}
}
<bean id="studentMapper" class="com.owen.mybatis.dao.StudentMapperImpl">
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>
이 방법 에서 우 리 는 Sqlssion 대상 을 주입 하여 Mapper 의 인 스 턴 스 를 얻 고 맵 을 실행 하 는 문 구 를 얻 었 습 니 다.여기 서 Spring 은 스 레 드 에 설 치 된 SqlSession 대상 을 호출 하고 실행 이 끝 난 후에 끄 는 방법 입 니 다.다음 장 에서 우 리 는 MyBatis - Spring 이 더 좋 은 방법 을 제공 하여 처리 할 것 이 라 고 설명 할 것 이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.