package com.tutego.ch_05.utils;
import org.springframework.jdbc.core.simple.SimpleJdbcInsert;
import org.springframework.jdbc.support.KeyHolder;
import org.springframework.stereotype.Repository;
import javax.sql.DataSource;
import java.util.Map;
@Repository
class LikesInserter {
private final SimpleJdbcInsert jdbcInsertLikes;
public LikesInserter(DataSource dataSource) {
jdbcInsertLikes = new SimpleJdbcInsert(dataSource).withTableName("Likes");
}
// KeyHolder, Void, or Number
public KeyHolder addLike(long liker, long likee) {
return jdbcInsertLikes.executeAndReturnKeyHolder(Map.of("liker_fk", liker, "likee_fk", likee));
}
// number of rows affected by every insert in the batch
@SuppressWarnings("unchecked")
public int[] addLikes(Map<String, ?> likes) {
return jdbcInsertLikes.executeBatch(likes);
}
}