CouponMapper.xml
6.94 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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
<?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.jeesite.modules.java.dao.CouponDao">
<!-- Coupon的resultMap,column是给数据库列起的别名,它对应property类的属性-->
<resultMap id="result_Coupon_Map" type="com.jeesite.modules.java.entity.Coupon">
<id column="couponId" property="couponId" />
<result column="couponName" property="couponName" />
<result column="discounts" property="discounts" />
<result column="couponType" property="couponType" />
<result column="scope" property="scope" />
<result column="expiredDate" property="expiredDate" />
<result column="validTime" property="validTime" />
<result column="orderCondition" property="orderCondition" />
</resultMap>
<!-- 数据库中表名为:coupon的列名,as前是数据库的列明,as后是列的别名用于映射成实体类中的属性,需要注意的是别名必须与resultMap中的column别名一致 -->
<sql id="coupon_Column">
couponId
,couponName
,discounts
,couponType
,scope
,expiredDate
,validTime
,orderCondition
</sql>
<!--获得类名为:Coupon对应的数据库表的数据总行数 -->
<select id="getCouponRowCount" resultType="java.lang.Long">
select count(couponId) from coupon
</select>
<!-- 获得类名为:Coupon对应数据库中表的数据集合 -->
<select id="selectCoupon" resultMap="result_Coupon_Map">
select
<include refid="coupon_Column" />
from coupon
</select>
<!-- 获得一个Coupon对象,以参数Coupon对象中不为空的属性作为条件进行查询-->
<select id="selectCouponByObj" parameterType="com.jeesite.modules.java.entity.Coupon" resultMap="result_Coupon_Map">
select
<include refid="coupon_Column" />
from coupon
<where>
<if test="orderCondition != null "> and coupon.orderCondition = #{orderCondition}</if>
<if test="validTime != null "> and coupon.validTime = #{validTime}</if>
<if test="expiredDate != null "> and coupon.expiredDate = #{expiredDate}</if>
<if test="scope != null "> and coupon.scope = #{scope}</if>
<if test="couponType != null "> and coupon.couponType = #{couponType}</if>
<if test="discounts != null "> and coupon.discounts = #{discounts}</if>
<if test="couponName != null "> and coupon.couponName = #{couponName}</if>
<if test="couponId != null "> and coupon.couponId = #{couponId}</if>
</where>
</select>
<!-- 通过Coupon的id获得对应数据库中表的数据对象-->
<select id="selectCouponById" parameterType="java.lang.Long" resultMap="result_Coupon_Map">
select
<include refid="coupon_Column" />
from coupon
where coupon.couponId = #{id}
</select>
<!-- 将Coupon插入到对应数据库的表中,包括属性值为null的数据-->
<insert id="insertCoupon" parameterType="com.jeesite.modules.java.entity.Coupon">
insert into coupon(couponId,couponName,discounts,couponType,scope,expiredDate,validTime,orderCondition)
values(#{couponId},#{couponName},#{discounts},#{couponType},#{scope},#{expiredDate},#{validTime},#{orderCondition})
</insert>
<!-- 将Coupon中属性值不为null的数据,插入到对应数据库的表中-->
<insert id="insertNonEmptyCoupon" parameterType="com.jeesite.modules.java.entity.Coupon">
insert into coupon
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="couponId != null">couponId,</if>
<if test="couponName != null">couponName,</if>
<if test="discounts != null">discounts,</if>
<if test="couponType != null">couponType,</if>
<if test="scope != null">scope,</if>
<if test="expiredDate != null">expiredDate,</if>
<if test="validTime != null">validTime,</if>
<if test="orderCondition != null">orderCondition,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="couponId != null"> #{couponId},</if>
<if test="couponName != null"> #{couponName},</if>
<if test="discounts != null"> #{discounts},</if>
<if test="couponType != null"> #{couponType},</if>
<if test="scope != null"> #{scope},</if>
<if test="expiredDate != null"> #{expiredDate},</if>
<if test="validTime != null"> #{validTime},</if>
<if test="orderCondition != null"> #{orderCondition},</if>
</trim>
</insert>
<!-- 将Coupon批量插入到对应数据库的表中-->
<insert id="insertCouponByBatch" parameterType="java.util.ArrayList">
insert into coupon(couponId,couponName,discounts,couponType,scope,expiredDate,validTime,orderCondition) values
<foreach collection="list" item="item" index="index" separator="," >
(#{item.couponId},#{item.couponName},#{item.discounts},#{item.couponType},#{item.scope},#{item.expiredDate},#{item.validTime},#{item.orderCondition})
</foreach>
</insert>
<!-- 通过Coupon的id将数据库表中对应的数据删除-->
<delete id="deleteCouponById" parameterType="java.lang.Long">
delete from coupon
where couponId = #{id}
</delete>
<!-- 通过Coupon的id将Coupon的数据更新到数据库中对应的表,包括值null的数据-->
<update id="updateCouponById" parameterType="com.jeesite.modules.java.entity.Coupon">
update coupon set
couponName=#{couponName}
,discounts=#{discounts}
,couponType=#{couponType}
,scope=#{scope}
,expiredDate=#{expiredDate}
,validTime=#{validTime}
,orderCondition=#{orderCondition}
where couponId=#{couponId}
</update>
<!-- 通过Coupon的id将Coupon中属性值不为null的数据更新到数据库对应的表中-->
<update id="updateNonEmptyCouponById" parameterType="com.jeesite.modules.java.entity.Coupon">
update coupon
<set>
<if test="couponName != null">
couponName=#{couponName},
</if>
<if test="discounts != null">
discounts=#{discounts},
</if>
<if test="couponType != null">
couponType=#{couponType},
</if>
<if test="scope != null">
scope=#{scope},
</if>
<if test="expiredDate != null">
expiredDate=#{expiredDate},
</if>
<if test="validTime != null">
validTime=#{validTime},
</if>
<if test="orderCondition != null">
orderCondition=#{orderCondition},
</if>
</set>
where couponId=#{couponId}
</update>
</mapper>