CategoryMapper.xml 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.nosum.deliver.category.dao.CategoryDao">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.nosum.deliver.category.domain.po.Category">
  6. <id column="id" property="id"/>
  7. <result column="name" property="name"/>
  8. <result column="sort" property="sort"/>
  9. <result column="create_time" property="createTime"/>
  10. <result column="update_time" property="updateTime"/>
  11. </resultMap>
  12. <sql id="BASE_SQL">id,name,sort,create_time, create_by, update_time, update_by</sql>
  13. <select id="selectCategoryPostsTotal" resultType="com.nosum.deliver.category.domain.vo.CategoryVO">
  14. SELECT
  15. categoryTags.category_id id,
  16. COUNT(*) total
  17. FROM
  18. category_tags categoryTags
  19. LEFT JOIN posts_tags postsTags ON postsTags.tags_id = categoryTags.tags_id
  20. WHERE
  21. postsTags.posts_id IS NOT NULL
  22. GROUP BY categoryTags.category_id
  23. </select>
  24. <select id="selectStatistics" resultType="com.nosum.deliver.category.domain.vo.CategoryVO">
  25. SELECT
  26. id,(SELECT COUNT( 1 ) FROM posts WHERE category_id = category.id AND status=2) as total, name
  27. FROM
  28. category AS category
  29. </select>
  30. <select id="selectListPage" resultType="com.nosum.deliver.category.domain.po.Category">
  31. SELECT <include refid="BASE_SQL"/>
  32. FROM category
  33. <where>
  34. <if test="condition.keywords != null and condition.keywords != ''">
  35. AND name like #{condition.name}
  36. </if>
  37. <if test="condition.name != null and condition.name != ''">
  38. AND name = #{condition.name}
  39. </if>
  40. </where>
  41. ORDER BY id DESC
  42. </select>
  43. </mapper>