2014年2月22日土曜日

MyBatis 3 テーブル読込

pom.xml へ spring-jdbc 組込み
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>${org.springframework-version}</version>
</dependency>

src/main/webapp/WEB-INF/spring/root-context.xml へ jdbc 設定と mybatis 設定
<bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName">
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property name="url">
        <value>jdbc:mysql://localhost/sample</value>
    </property>
    <property name="username">
        <value>s6131</value>
    </property>
    <property name="password">
        <value>s6131</value>
    </property>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="mapperLocations">
        <list>
            <value>classpath:jp/s6131/sample/mapper/*.xml</value>
        </list>
    </property>
</bean>
<bean class="org.mybatis.spring.SqlSessionTemplate">
    <constructor-arg ref="sqlSessionFactory" />
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="jp.s6131.sample.mapper" />
</bean>

サービスinterface
jp.s6131.sample.service.SampleService.java
package jp.s6131.sample.service;
・・・
public interface SampleService {
    public List<Sample> selectByCode(String code);
}

サービス
jp.s6131.sample.service.impl.SampleServiceImpl.java
package jp.s6131.sample.service.impl;
・・・
@Service("sampleService")
public class SampleServiceImpl implements SampleService {
    @Autowired
    SampleMapper sampleMapper;
    @Override
    public List<Sample> selectByCode(String code) {
        SampleExample sampleExample = new SampleExample();
        sampleExample.createCriteria().andCodeEqualTo(code);
        List<Sample> sampleList = sampleMapper.selectByExampleWithBLOBs(sampleExample);
        return sampleList;
    }
}

コントローラ
jp.s6131.sample.HomeController.java
@Autowired
SampleService sampleService;
・・・
sampleList = sampleService.selectByCode("001");
for (Sample sample : sampleList) {
    logger.debug("code = " + sample.getCode() + " name = " + sample.getName());
}


人気ブログランキングへ