/* * Copyright (c) 2023. yo-saito. All Rights Reserved. */ package net.piedpiper.bremer.dao import net.piedpiper.bremer.entity.PlaylistAudioEntity import net.piedpiper.bremer.utils.DaoUtils import net.piedpiper.bremer.utils.WHERE_IN import org.apache.ibatis.annotations.* import org.springframework.stereotype.Repository @Repository("bremer.dao.PlaylistAudioDao") @Mapper interface PlaylistAudioDao { @InsertProvider(type = Sql::class, method = "insertOne") @Options(useGeneratedKeys = true, keyProperty = "id") fun insertOne(@Param("entity") entity: PlaylistAudioEntity): Boolean @UpdateProvider(type = Sql::class, method = "updateOne") fun updateOne(@Param("entity") entity: PlaylistAudioEntity) @DeleteProvider(type = Sql::class, method = "deleteAllByIds") fun deleteAllByIds(@Param("ids") ids: List<Long>); class Sql { companion object { @JvmStatic fun insertOne(@Param("entity") entity: PlaylistAudioEntity): String = DaoUtils.insertOne(entity) @JvmStatic fun updateOne(@Param("entity") entity: PlaylistAudioEntity): String = DaoUtils.updateOne(entity) @JvmStatic fun deleteAllByIds(@Param("ids") ids: List<Long>): String = DaoUtils.deleteQuery(PlaylistAudioEntity::class) .WHERE_IN("id", "ids", ids.size) .toString() } } }