You are using an outdated browser. Please upgrade your browser to improve your experience.

12/16

ex12 a - mybatis와 spring

ex12 b -

<!-- Mybatis SqlSessionFactory 준비하기 -->
    <bean id="sqlSessionFactory"
          class="com.eomcs.spring.ioc.ex12.b.SqlSessionFactoryFactoryBean">
      <property name="configLocation" 
                value="com/eomcs/spring/ioc/ex12/b/mybatis-config.xml"/>
    </bean>

여기서 id=sqlSessionFactory는

  @Override
  public SqlSessionFactory getObject() throws Exception {
    InputStream in = Resources.getResourceAsStream(configLocation);
    return new SqlSessionFactoryBuilder().build(in);
  }

여기서 getObject가 리턴한 값을 그 이름(sqlSessionFactory)으로 저장한다는 뜻이다.

자바쓰면 스프링은 기본탑재

mybatis-spring은 config.xml에서 내가 직접 설정한 파일을 쓰지 않는다.

SqlSessionFactoryBean이 만드는건 SqlSessionFactory객체이다. SqlSession이 아니다!

database connection pool : dbcp

ex12 d - dao구현체를 드디어 없앴다.

  <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <!-- DAO 인터페이스가 선언된 패키지를 지정한다. -->
    <property name="basePackage" 
              value="com.eomcs.spring.ioc.ex12.d" />
  </bean>  

얘가 바로 인터페이스를 주면 Dao구현체를 알아서 만들어주는 코드이다.

ApplicationContext iocContainer = //
    new AnnotationConfigApplicationContext(AppConfig.class); config class대신ㄴ 경로를 string으로 직접 지정할 수 있다.

하지만 경로를 string으로 직접 지정할 경우 @Configuration애노테이션을 Appconfig자바 파일에 붙여주어야 한다.

AppConfig.class으로 지정할 땐 @Configuration를 붙이지 않아도 된다.

reflect ex06

프록시 객체 만들기

제목 없음

image


이제 드디어 자바프로젝트에서 dao구현체 없앤당

java project server - Dao구현체 없애기

where절 조건이 마지막 방문일이 오늘날짜보다 작을때만 오늘날짜로 업데이트한다.