package study.u42.mapper;

import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.cursor.Cursor;

public interface ItemMapper {
    int insert(@Param("id") int id, @Param("tenant") int tenant, @Param("name") String name);
    String dbName();
    int rename(@Param("id") int id, @Param("tenant") int tenant, @Param("name") String name);
    java.util.List<String> prefix(@Param("tenant") int tenant, @Param("name") String name);
    int insertStatus(@Param("id") int id, @Param("state") Status state);
    Status status(@Param("id") int id);
    Item lazyItem(@Param("id") int id, @Param("tenant") int tenant);
    Category categoryBasic(@Param("id") int id, @Param("tenant") int tenant);
    Category categoryItems(@Param("id") int id, @Param("tenant") int tenant);
    Item itemCategory(@Param("id") int id, @Param("tenant") int tenant);
    java.util.List<String> page(@Param("tenant") int tenant, @Param("limit") int limit, @Param("offset") int offset);
    Item item(@Param("id") int id);
    String name(@Param("id") int id);
    List<String> search(@Param("tenant") int tenant, @Param("names") List<String> names);
    @org.apache.ibatis.annotations.SelectProvider(type=ItemSql.class, method="byTenant")
    List<String> byTenant(@Param("tenant") int tenant);
    Cursor<String> cursor();
}
