FsHomeArticleViewMapper.xml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.fs.store.mapper.FsHomeArticleViewMapper">
  6. <resultMap type="FsHomeArticleView" id="FsHomeArticleViewResult">
  7. <result property="viewId" column="view_id" />
  8. <result property="articleId" column="article_id" />
  9. <result property="userId" column="user_id" />
  10. <result property="createTime" column="create_time" />
  11. </resultMap>
  12. <sql id="selectFsHomeArticleViewVo">
  13. select view_id, article_id, user_id, create_time from fs_home_article_view
  14. </sql>
  15. <select id="selectFsHomeArticleViewList" resultType="FsHomeArticleView">
  16. SELECT
  17. ha.article_id,
  18. ha.title,
  19. u.user_id,
  20. u.avatar,
  21. u.phone,
  22. u.nickname,
  23. v.create_time
  24. FROM
  25. fs_home_article_view v
  26. LEFT JOIN fs_user u ON u.user_id = v.user_id
  27. LEFT JOIN fs_home_article ha ON ha.article_id = v.article_id
  28. <where>
  29. <if test="title != null">
  30. AND ha.title like concat('%', #{title}, '%')
  31. </if>
  32. <if test="phone != null">
  33. AND u.phone like concat('%', #{phone}, '%')
  34. </if>
  35. </where>
  36. ORDER BY v.create_time
  37. </select>
  38. <select id="selectFsHomeArticleViewById" parameterType="Long" resultMap="FsHomeArticleViewResult">
  39. <include refid="selectFsHomeArticleViewVo"/>
  40. where view_id = #{viewId}
  41. </select>
  42. <insert id="insertFsHomeArticleView" parameterType="FsHomeArticleView" useGeneratedKeys="true" keyProperty="viewId">
  43. insert into fs_home_article_view
  44. <trim prefix="(" suffix=")" suffixOverrides=",">
  45. <if test="articleId != null">article_id,</if>
  46. <if test="userId != null">user_id,</if>
  47. <if test="createTime != null">create_time,</if>
  48. </trim>
  49. <trim prefix="values (" suffix=")" suffixOverrides=",">
  50. <if test="articleId != null">#{articleId},</if>
  51. <if test="userId != null">#{userId},</if>
  52. <if test="createTime != null">#{createTime},</if>
  53. </trim>
  54. </insert>
  55. <update id="updateFsHomeArticleView" parameterType="FsHomeArticleView">
  56. update fs_home_article_view
  57. <trim prefix="SET" suffixOverrides=",">
  58. <if test="articleId != null">article_id = #{articleId},</if>
  59. <if test="userId != null">user_id = #{userId},</if>
  60. <if test="createTime != null">create_time = #{createTime},</if>
  61. </trim>
  62. where view_id = #{viewId}
  63. </update>
  64. <delete id="deleteFsHomeArticleViewById" parameterType="Long">
  65. delete from fs_home_article_view where view_id = #{viewId}
  66. </delete>
  67. <delete id="deleteFsHomeArticleViewByIds" parameterType="String">
  68. delete from fs_home_article_view where view_id in
  69. <foreach item="viewId" collection="array" open="(" separator="," close=")">
  70. #{viewId}
  71. </foreach>
  72. </delete>
  73. <select id="selectHomeArticleViewsList" resultType="HomeArticleViewsListVO">
  74. SELECT
  75. u.user_id,
  76. u.avatar,
  77. u.nickname
  78. FROM
  79. fs_home_article_view v
  80. LEFT JOIN fs_user u ON u.user_id = v.user_id
  81. <where>
  82. <if test="param.articleId != null">
  83. AND v.article_id = #{param.articleId}
  84. </if>
  85. </where>
  86. ORDER BY
  87. v.view_id DESC
  88. </select>
  89. </mapper>