/* * Copyright (c) 2023. yo-saito. All Rights Reserved. */ package net.piedpiper.bremer.dao import net.piedpiper.bremer.entity.AudioTagEntity import net.piedpiper.bremer.utils.DaoUtils import org.apache.ibatis.annotations.* import org.springframework.stereotype.Repository @Repository("bremer.dao.AudioTagDao") @Mapper interface AudioTagDao { @ResultMap("net.piedpiper.bremer.AudioTagEntity") @Select("SELECT * FROM audio_tag WHERE audio_id = #{audioId} AND tag_id = #{tagId}") fun findByAudioIdAndTagId( @Param("audioId") audioId: Long, @Param("tagId") tagId: Long ): AudioTagEntity? @UpdateProvider(type = Sql::class, method = "insertOne") fun insertOne(@Param("entity") entity: AudioTagEntity): Boolean @Delete("DELETE FROM audio_tag WHERE audio_id = #{audioId} AND tag_id = #{tagId}") fun deleteOneByAudioIdAndTagId( @Param("audioId") audioId: Long, @Param("tagId") tagId: Long ): Boolean class Sql { companion object { @JvmStatic @Options(useGeneratedKeys = true, keyColumn = "id") fun insertOne(@Param("entity") entity: AudioTagEntity): String = DaoUtils.insertOne(entity) } } }