package com.takensoft.common.idgen.dao;

import com.takensoft.common.idgen.vo.IdgenVO;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;

/**
 * @author takensoft
 * @since 2025.01.22
 * @modification
 *     since    |    author    | description
 *  2025.01.22  |  takensoft   | 최초 등록
 *
 * 고유 아이디 관련 DAO
 */
@Mapper
public interface IdgenMapper {

    /**
     * @param tblNm - 테이블명
     * @return IdgenVO - 테이블에 해당하는 마지막 아이디 정보
     *
     * 특정 테이블에 대해 마지막으로 사용된 아이디 값을 조회
     */
    IdgenVO selectNextId(String tblNm);

    /**
     * @param idgenVO - 아이디 정보 객체
     * @return int - 삽입 또는 업데이트된 행의 수
     *
     * 새로운 아이디 값을 테이블에 삽입하거나 기존의 아이디 값을 업데이트
     */
    void upsertSeqNmg(IdgenVO idgenVO);

}
