FileMetaMapper.xml 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  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="cn.reghao.oss.store.db.mapper.FileMetaMapper">
  4. <insert id="save" useGeneratedKeys="true" keyProperty="id">
  5. insert into file_meta
  6. (`id`,`deleted`,`create_time`,`update_time`,`object_name`,`object_id`,`content_id`,`pid`,`filename`,`size`,`file_type`,`content_type`,`sha256sum`,`upload_by`,`scope`)
  7. values
  8. (#{id},#{deleted},#{createTime},#{updateTime},#{objectName},#{objectId},#{contentId},#{pid},#{filename},#{size},#{fileType},#{contentType},#{sha256sum},#{uploadBy},#{scope})
  9. </insert>
  10. <insert id="saveAll" useGeneratedKeys="true" keyProperty="id">
  11. insert into file_meta
  12. (`id`,`deleted`,`create_time`,`update_time`,`object_name`,`object_id`,`content_id`,`pid`,`filename`,`size`,`file_type`,`content_type`,`sha256sum`,`upload_by`,`scope`)
  13. values
  14. <foreach collection="list" item="item" index="index" separator=",">
  15. (#{item.id},#{item.deleted},#{item.createTime},#{item.updateTime},#{item.objectName},#{item.objectId},#{item.contentId},#{item.pid},#{item.filename},#{item.size},#{item.fileType},#{item.contentType},#{item.sha256sum},#{item.uploadBy},#{item.scope})
  16. </foreach>
  17. </insert>
  18. <delete id="delete">
  19. delete from file_meta
  20. where object_id=#{objectId}
  21. </delete>
  22. <update id="update">
  23. update file_meta
  24. set object_name=#{objectName}
  25. where object_id=#{objectId}
  26. </update>
  27. <update id="updateScopeByObjectName">
  28. update file_meta
  29. set scope=#{scope}
  30. where object_name=#{objectName}
  31. </update>
  32. <update id="updateScopeByObjectNames">
  33. update file_meta
  34. set scope=#{scope}
  35. where object_name in
  36. <foreach collection="list" item="item" separator="," open="(" close=")">
  37. #{item}
  38. </foreach>
  39. </update>
  40. <update id="updateBatch">
  41. update file_meta
  42. <trim prefix="set" suffixOverrides=",">
  43. <trim prefix="content_id =case" suffix="end,">
  44. <foreach collection="list" item="item" index="index">
  45. when object_id=#{item.objectId} then #{item.contentId}
  46. </foreach>
  47. </trim>
  48. </trim>
  49. <where>
  50. object_id in
  51. <foreach collection="list" item="item" separator="," open="(" close=")">
  52. #{item.objectId}
  53. </foreach>
  54. </where>
  55. </update>
  56. <select id="count" resultType="java.lang.Integer">
  57. select count(*) from file_meta
  58. </select>
  59. <select id="findAll" resultType="cn.reghao.oss.store.model.po.FileMeta">
  60. select * from file_meta
  61. </select>
  62. <select id="findAll0" resultType="cn.reghao.oss.store.model.po.FileMeta">
  63. select file_meta.*
  64. from file_meta
  65. where object_id=#{objectId} and object_name regexp #{regex}
  66. limit #{max}
  67. </select>
  68. <select id="findAll2" resultType="cn.reghao.oss.store.model.po.FileMeta">
  69. select file_meta.*
  70. from file_meta
  71. where object_id=#{objectId} and object_name regexp concat_ws('', '^', '${prefix}', '([^/])+/?$')
  72. and id > (select id from file_meta where object_name=#{start})
  73. limit #{max}
  74. </select>
  75. <select id="findBySha256sum" resultType="cn.reghao.oss.store.model.po.FileMeta">
  76. select * from file_meta
  77. where sha256sum=#{sha256sum}
  78. order by create_time asc
  79. limit 1
  80. </select>
  81. <select id="findByObjectName" resultType="cn.reghao.oss.store.model.po.FileMeta">
  82. select *
  83. from file_meta
  84. where object_name=#{objectName}
  85. </select>
  86. <select id="findByObjectNames" resultType="cn.reghao.oss.store.model.po.FileMeta">
  87. select *
  88. from file_meta
  89. where object_name in
  90. <foreach collection="list" item="id" index="index" open="(" close=")" separator=",">
  91. #{id}
  92. </foreach>
  93. </select>
  94. <select id="findByObjectId" resultType="cn.reghao.oss.store.model.po.FileMeta">
  95. select *
  96. from file_meta
  97. where object_id=#{objectId}
  98. </select>
  99. <select id="findByContentId" resultType="cn.reghao.oss.store.model.po.FileMeta">
  100. select *
  101. from file_meta
  102. where content_id=#{contentId}
  103. </select>
  104. <select id="findObjectMeta" resultType="cn.reghao.oss.api.dto.ObjectMeta">
  105. select file_meta.size,file_meta.content_type,file_meta.object_name,file_meta.object_id,file_meta.scope as scope,file_meta.upload_by,
  106. data_block.absolute_path
  107. from file_meta
  108. inner join data_block
  109. on file_meta.content_id=data_block.content_id
  110. and file_meta.object_name=#{objectName}
  111. </select>
  112. <select id="findObjectMetaById" resultType="cn.reghao.oss.api.dto.ObjectMeta">
  113. select file_meta.size,file_meta.content_type,file_meta.object_name,file_meta.object_id,file_meta.scope as scope,file_meta.upload_by,
  114. data_block.absolute_path
  115. from file_meta
  116. inner join data_block
  117. on file_meta.content_id=data_block.content_id
  118. and file_meta.object_id=#{objectId}
  119. </select>
  120. <select id="findObjectNames" resultType="java.lang.String">
  121. select object_name
  122. from file_meta
  123. where object_id in
  124. <foreach collection="list" item="id" index="index" open="(" close=")" separator=",">
  125. #{id}
  126. </foreach>
  127. </select>
  128. <!--*************************************************************************************************************-->
  129. <update id="updateFilename">
  130. update file_meta
  131. set update_time=now() and filename=#{filename}
  132. where object_id=#{objectId}
  133. </update>
  134. <update id="updateParent">
  135. update file_meta
  136. set update_time=now() and pid=#{pid}
  137. where object_id=#{objectId}
  138. </update>
  139. <select id="countByPid" resultType="java.lang.Integer">
  140. select count(*)
  141. from file_meta
  142. where pid=#{pid}
  143. </select>
  144. <select id="countDeletedFiles" resultType="java.lang.Integer">
  145. select count(*)
  146. from file_meta
  147. where deleted=1
  148. </select>
  149. <select id="findByFilename" resultType="cn.reghao.oss.store.model.po.FileMeta">
  150. select *
  151. from file_meta
  152. where pid=#{pid} and filename like concat(#{filename},'%')
  153. </select>
  154. <select id="findFileInfos" resultType="cn.reghao.oss.store.model.po.FileMeta">
  155. select *
  156. from file_meta
  157. where object_id in
  158. <foreach collection="objectIds" item="id" index="index" open="(" close=")" separator=",">
  159. #{id}
  160. </foreach>
  161. </select>
  162. <select id="findByPid" resultType="cn.reghao.oss.store.model.po.FileMeta">
  163. select *
  164. from file_meta
  165. where pid=#{pid}
  166. </select>
  167. <select id="countByKeyword" resultType="java.lang.Integer">
  168. select count(*)
  169. from file_meta
  170. where filename like concat('%',#{keyword},'%')
  171. </select>
  172. <select id="findFileMetaByPage" resultType="cn.reghao.oss.store.model.po.FileMeta">
  173. select * from file_meta
  174. where file_type!=1000
  175. </select>
  176. <select id="findObjectPrefix" resultType="java.lang.String">
  177. select * from file_meta
  178. where file_type==1000
  179. </select>
  180. </mapper>