30 lines
1.3 KiB
XML
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> |