原文地址:https://blog.csdn.net/weixin_38982591/article/details/104048388
mybaits 中没有else要用chose when otherwise 代替
模板:
<!--批量插入用户-->
<insert id="insertBusinessUserList" parameterType="java.util.List">
insert into `business_user` (`id` , `user_type` , `user_login` )
values
<foreach collection="list" index="index" item="item" separator=",">
<trim prefix="(" suffix=")" suffixOverrides=",">
<choose>
<when test="item.id != null and item.id !=''">
#{item.id,jdbcType=CHAR},
</when>
<otherwise>
'',
</otherwise>
</choose>
<choose>
<when test="item.userType != null and item.userType !=''">
#{item.userType,jdbcType=VARCHAR},
</when>
<otherwise>
'',
</otherwise>
</choose>
</trim>
</foreach>
</insert>
<select id="selectSelective" resultMap="xxx" parameterType="xxx">
select
<include refid="Base_Column_List"/>
from xxx
where del_flag=0
<choose>
<when test="xxx !=null and xxx != ''">
and xxx like concat(concat('%', #{xxx}), '%')
</when>
<otherwise>
and xxx like '**%'
</otherwise>
</choose>
</select>
使用:
<!--获取业务量发展报表月份倒序集合-->
<select id="monthList" resultType="java.lang.Integer">
select `month` from business_development
<choose>
<when test="#{topOrgCode} == #{orgCode}">
where topOrgCode = #{topOrgCode}
</when>
<otherwise>
where topOrgCode = #{topOrgCode} and code = #{orgCode}
</otherwise>
</choose>
group by month order by month desc
</select>
注意:
当parameterType使用java.util.Map时里不能使用#{xxx}形式,如:
java里:
Map<String, Object> ins = new HashMap<>();
ins.put("mangId",request.getMangId());
ins.put("type",request.getType());
List<VideodModel> result = videoInfosDao.videoInfosBase(ins);
xml里根据type来判断,如果等于数字1则执行一种情况,如果是2执行另一种:
<select id="videoInfosBase" parameterType="java.util.Map" resultMap="videoInfosBaseResult">
SELECT videoid,videoname,videocoverimg,videourl,duration
FROM [dbo].[video_infos]
WHERE convert(varchar(20),starttime,120) like '1900%'
AND managerid = #{mangId}
<choose>
<when test="type == 1">
AND (videourl like '%.mp4' OR
videourl like '%.m3u8' OR
)
</when>
<when test="type == 2">
AND (videourl like '%.asf' OR
videourl like '%.mp3' OR
)
</when>
</choose>
ORDER BY uploadtime desc
</select>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/80354.html