Video.xml
5.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?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="com.dili.titan.dao.VideoDao">
<!-- video 所有查询列 -->
<sql id="QUERY_COLUMN_LIST">
<![CDATA[id,name,category_id AS categoryId,img, file_id AS fileId,page_url AS pageUrl,status,aqy_status as aqyStatus,description,ctime,utime]]>
</sql>
<!-- video 查询列来源表-->
<sql id="QUERY_FROM_TABLE"><![CDATA[FROM video]]></sql>
<!-- 全部条件(更多功能可以通过queryData扩展实现) -->
<sql id="QUERY_WHERE_CLAUSE">
<where>
<if test="id != null and id != ''"><![CDATA[AND id = #{id}]]></if>
<if test="name != null and name != ''"><![CDATA[AND name = #{name}]]></if>
<if test="cateList != null and cateList != ''"><![CDATA[AND category_id IN]]>
<foreach collection="cateList" item="cate" open="(" separator="," close=")">
<![CDATA[#{cate}]]>
</foreach>
</if>
<if test="status != null and status != '' and status !=5"><![CDATA[AND status = #{status}]]></if>
<if test="status == 5"><![CDATA[AND (status = 1 or status = 2 or status=3) AND (img IS NULL OR img = '')]]></if>
<if test="aqyStatus != null and aqyStatus != '' and aqyStatus !=5"><![CDATA[AND aqy_status = #{aqyStatus}]]></if>
<if test="aqyStatus == 5"><![CDATA[AND (aqy_status = 1 or aqy_status = 2 or aqy_status=3) AND (img IS NULL OR img = '')]]></if>
<if test="description != null and description != ''"><![CDATA[AND description = #{description}]]></if>
<if test="ctime != null and ctime != ''"><![CDATA[AND ctime = #{ctime}]]></if>
<if test="utime != null and utime != ''"><![CDATA[AND utime = #{utime}]]></if>
</where>
</sql>
<!-- 智能排序与分页 -->
<sql id="QUERY_ORDER_LIMIT_CONDTION">
<if test="orderField != null and orderField != '' and orderFieldType != null and orderFieldType != ''"><![CDATA[ORDER BY ${orderField} ${orderFieldType}]]></if>
<if test="startIndex != null and startIndex >= 0 and pageSize != null and pageSize > 0"><![CDATA[LIMIT #{startIndex},#{pageSize}]]></if>
</sql>
<!-- 更新列字段,只要不为NULL则更新,除开主键列 -->
<sql id="UPDATE_COLUMN_SET">
<set>
<if test="name != null"><![CDATA[name = #{name},]]></if>
<if test="categoryId != null"><![CDATA[category_id = #{categoryId},]]></if>
<if test="status != null"><![CDATA[status = #{status},]]></if>
<if test="aqyStatus != null"><![CDATA[aqy_status = #{aqyStatus},]]></if>
<if test="reason != null"><![CDATA[reason = #{reason},]]></if>
<if test="fileId != null"><![CDATA[file_id = #{fileId},]]></if>
<if test="pageUrl != null"><![CDATA[page_url = #{pageUrl},]]></if>
<if test="img != null"><![CDATA[img = #{img},]]></if>
<if test="description != null"><![CDATA[description = #{description},]]></if>
<if test="ctime != null"><![CDATA[ctime = #{ctime},]]></if>
<if test="utime != null"><![CDATA[utime = #{utime},]]></if>
</set>
</sql>
<!-- 插入video记录 -->
<insert id="insertEntry" parameterType="video" >
<![CDATA[
INSERT INTO video (name,category_id,status,aqy_status,file_id,page_url,description,reason,ctime,utime)
VALUES (#{name},#{categoryId},#{status},#{aqyStatus},#{fileId},#{pageUrl},#{description},#{reason},NOW(),NOW())
]]>
</insert>
<!-- 返回插入的编号,在事务开启状态下有效 -->
<select id="lastSequence" resultType="int"><![CDATA[SELECT LAST_INSERT_ID() AS id]]></select>
<!-- 删除记录,主键IN(array) -->
<delete id="deleteByArrayKey" parameterType="java.lang.reflect.Array" >
<![CDATA[DELETE FROM video WHERE id IN]]>
<foreach collection="array" item="id" open="(" separator="," close=")">
<![CDATA[#{id}]]>
</foreach>
</delete>
<!-- 删除,通过条件 -->
<update id="deleteByCondtion" parameterType="video" >
<![CDATA[DELETE FROM video]]>
<include refid="QUERY_WHERE_CLAUSE"/>
</update>
<!-- 修改记录通过主键 -->
<update id="updateByKey" parameterType="video" >
<![CDATA[UPDATE video]]>
<include refid="UPDATE_COLUMN_SET"/>
<![CDATA[WHERE id = #{id}]]>
</update>
<!-- 查询,通过主键IN(array) -->
<select id="selectEntryArray" parameterType="java.lang.reflect.Array" resultType="video">
<![CDATA[SELECT]]>
<include refid="QUERY_COLUMN_LIST"/>
<include refid="QUERY_FROM_TABLE"/>
<![CDATA[WHERE id IN]]>
<foreach collection="array" item="id" open="(" separator="," close=")">
<![CDATA[#{id}]]>
</foreach>
</select>
<!-- 查询,通过条件 -->
<select id="selectList" parameterType="video" resultType="video">
<![CDATA[SELECT]]>
<include refid="QUERY_COLUMN_LIST"/>
<include refid="QUERY_FROM_TABLE"/>
<include refid="QUERY_WHERE_CLAUSE"/>
<include refid="QUERY_ORDER_LIMIT_CONDTION"/>
</select>
<!-- 总数查询,通过条件 -->
<select id="selectListCount" parameterType="video" resultType="int">
<![CDATA[SELECT COUNT(id) AS dataCount]]>
<include refid="QUERY_FROM_TABLE"/>
<include refid="QUERY_WHERE_CLAUSE"/>
</select>
<!-- 其它SQL语句 -->
<!-- 修改记录通过主键 -->
<update id="updateByfileId" parameterType="video" >
<![CDATA[UPDATE video]]>
<include refid="UPDATE_COLUMN_SET"/>
<![CDATA[WHERE file_id = #{fileId}]]>
</update>
<select id="findPidsByVideoId" parameterType="java.lang.Long" resultType="java.lang.Long">
<![CDATA[SELECT pid from product_video where video_id=#{vodeoId} and status = 1]]>
</select>
</mapper>