spring-boot-realworld-examp.../src/main/resources/mapper/ArticleFavoritesReadService...
2017-08-25 11:34:41 +08:00

30 lines
1.3 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="io.spring.infrastructure.mybatis.readservice.ArticleFavoritesReadService">
<select id="isUserFavorite" resultType="java.lang.Boolean">
select count(1) from article_favorites where user_id = #{userId} and article_id = #{articleId}
</select>
<select id="articleFavoriteCount" resultType="java.lang.Integer">
select count(1) from article_favorites where article_id = #{articleId}
</select>
<select id="articlesFavoriteCount" resultMap="transfer.data.favoriteCount">
select A.id, count(AF.user_id) as favoriteCount from articles A
left join article_favorites AF on A.id = AF.article_id
where id in
<foreach collection="ids" item="item" separator="," open="(" close=")">
#{item}
</foreach>
group by A.id
</select>
<select id="userFavorites" resultType="java.lang.String">
select
A.id
from articles A
left join article_favorites AF on A.id = AF.article_id
where id in
<foreach collection="ids" item="item" separator="," open="(" close=")">
#{item}
</foreach>
and AF.user_id = #{currentUser.id}
</select>
</mapper>