spring-boot-realworld-examp.../src/main/java/io/spring/infrastructure/repository/MyBatisArticleFavoriteRepos...
2017-08-18 17:08:27 +08:00

37 lines
1.1 KiB
Java

package io.spring.infrastructure.repository;
import io.spring.core.favorite.ArticleFavorite;
import io.spring.core.favorite.ArticleFavoriteRepository;
import io.spring.infrastructure.mybatis.mapper.ArticleFavoriteMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.Optional;
@Repository
public class MyBatisArticleFavoriteRepository implements ArticleFavoriteRepository {
private ArticleFavoriteMapper mapper;
@Autowired
public MyBatisArticleFavoriteRepository(ArticleFavoriteMapper mapper) {
this.mapper = mapper;
}
@Override
public void save(ArticleFavorite articleFavorite) {
if (mapper.find(articleFavorite.getArticleId(), articleFavorite.getUserId()) == null) {
mapper.insert(articleFavorite);
}
}
@Override
public Optional<ArticleFavorite> find(String articleId, String userId) {
return Optional.ofNullable(mapper.find(articleId, userId));
}
@Override
public void remove(ArticleFavorite favorite) {
mapper.delete(favorite);
}
}