develog

[spring] mybatis selectKey 본문

카테고리 없음

[spring] mybatis selectKey

냐옴 2021. 4. 7. 17:12

selecetKey 후에 sequence 꺼내기

accessHistMapper.insert(param);
log.info("ACCESS_HIST_SEQ = {}", param.getACCESS_HIST_SEQ());

 

source code

// AccessHistController
public void doLog() {
    AccessHistParam param = new AccessHistParam();
    param.setURI(requestUri);
    accessHistService.log(param);
}

// AccessHistService
public void log(AccessHistParam param) {
    accessHistMapper.insert(param);
    log.info("ACCESS_HIST_SEQ = {}", param.getACCESS_HIST_SEQ());
}

// AccessHistParam
public class AccessHistParam {
    private Long ACCESS_HIST_SEQ;
    private String URI;
}

// AccessHistMapper
public interface AccessHistMapper {
    int insert(AccessHistParam param);
}
// mapper xml
<mapper namespace="study.mapper.AccessHistMapper">
    <insert id="insert">
        <selectKey keyProperty="ACCESS_HIST_SEQ" resultType="long" order="BEFORE">
            SELECT ACCESS_HIST_SEQ.NEXTVAL FROM DUAL
        </selectKey>
        INSERT INTO ACCESS_HIST (
            ACCESS_HIST_SEQ
            , URI
        ) VALUES (
            #{ACCESS_HIST_SEQ}
            , #{URI}
        )
    </insert>
</mapper>
Comments