<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.munjaon.server.cache.mapper.SerialNoMapper">
    <select id="getSerialNoForLock" resultType="string">
        /* SerialNoMapper.getSerialNoForLock */
        SELECT NEXT_ID
        FROM IDS
        WHERE TABLE_NAME = 'MSG_ID'
            FOR UPDATE
    </select>

    <insert id="insert">
        /* SerialNoMapper.insert */
        INSERT IDS (TABLE_NAME, NEXT_ID) VALUES ('MSG_ID', 1)
    </insert>

    <update id="update">
        /* SerialNoMapper.update */
        UPDATE IDS SET NEXT_ID = NEXT_ID + 1
        WHERE TABLE_NAME = 'MSG_ID'
    </update>

    <select id="getSerialNo" resultType="string">
        /* SerialNoMapper.getSerialNo */
        SELECT CONCAT('MSGID_', lpad(NEXT_ID, 14, '0'))
        FROM IDS
        WHERE TABLE_NAME = 'MSG_ID'
    </select>
</mapper>