mapper.xml 简化技巧
insert 可复用
<sql id= "setField" >
< set >
<if test= "taskVersionId != null" >task_version_id = #{taskVersionId},</if>
<if test= "uid != null" >uid = #{uid},</if>
<if test= "userName != null" >user_name = #{userName},</if>
<if test= "greyDate != null" >grey_date = #{greyDate},</if>
</ set >
</sql>
< insert id= "insert" parameterType= "com.**.**.app.grey.core.bean.GreyRecordDO" >
insert into h_grey_record
<include refid= "setField" />
</ insert >
|
update复用
<sql id= "setUpdateField" >
< set >
<if test= "pushDevice.appId != null" >app_id = #{pushDevice.appId},</if>
<if test= "pushDevice.deviceId != null" >device_id = #{pushDevice.deviceId},</if>
<if test= "pushDevice.registrationId != null" >registration_id = #{pushDevice.registrationId},</if>
<if test= "pushDevice.os != null" >os = #{pushDevice.os},</if>
<if test= "pushDevice.osVersion != null" >os_version = #{pushDevice.osVersion},</if>
<if test= "pushDevice.appVersion != null" >app_version = #{pushDevice.appVersion},</if>
<if test= "pushDevice.mobileBrands != null" >mobile_brand = #{pushDevice.mobileBrands},</if>
<if test= "pushDevice.mobileModel != null" >mobile_model = #{pushDevice.mobileModel},</if>
<if test= "pushDevice.pushSwitchStatus != null" >push_switch_status = #{pushDevice.pushSwitchStatus},</if>
<if test= "pushDevice.regIdType != null" >reg_id_type = #{pushDevice.regIdType},</if>
<if test= "pushDevice.bundleId != null" >bundle_id = #{pushDevice.bundleId},</if>
</ set >
</sql>
|
query复用
<sql id= "query_user_where" >
< where >
<if test= "id!=null and id!=''" > and id=#{id} </if>
<if test= "username!=null and username!=''" > and username like '%${username}%' </if>
</ where >
</sql>
//使用include引用sql片段
< select id= "findUserList" parameterType= "user" resultType= "user" >
select * from user
<include refid= "query_user_where" />
</ select >
|