본문 바로가기
개발/Java, Spring

MyBatis 사용시 SqlSession과 SqlSessionFactory사용에 따른 사항

by GreatCoding 2014. 12. 10.

@Repository

public class CodeDaoImpl implements CodeDao {

    @Autowired

    private SqlSession sqlSession;


@Override

public List<Code> selectList(Map<String, Object> paramMap) throws Exception {

  return sqlSession.selectList("code.selectList", paramMap);

}


대부분 편의를 위하여 Autowired를 사용하는데, 

위와 같이 SqlSession을 사용할때는 별도의 Commit없이 바로바로 적용되는 한편


@Autowired   

SqlSessionFactory sqlSessionFactory;


SqlSession sqlSession = sqlSessionFactory.openSession();


      List<Code> allRecords;

      try {

        CodeMapper mapper = sqlSession.getMapper(CodeMapper.class);

         allRecords = mapper.selectByExample(null);

        

         sqlSession.commit();

      } finally {

         sqlSession.close();

       }

위와 같이 SqlSessionFactory를 사용하게되면 commit()과 close()를 호출해주어야한다.

'개발 > Java, Spring' 카테고리의 다른 글

XSS filter 라이브러리  (0) 2015.03.26
스프링 부트에서 외부 톰캣 사용하도록 변경  (0) 2014.12.26

댓글