Mybatis学习(四)动态SQL

动态SQL前文

		前文当前端页面传来一组动态数据(例如两个数据中,可能传递至多两个数据,也可能不传时)
根据动态传递的数据信息,来查询后端数据。
		原始的方法是可以判断传递的数据是否为空的方式来拼接最终的sql语句来动态的给予响应信息

SQL动态SQL

	动态SQL也可以理解为给存储SQL的XML文件添加流程控制语句,IF条件判断语句等
	常用的标签有
			<where></where>   <if></if>
			choose(when , otherwise) 类似于java的switch语句
			foreach标签常用于做一些批量的数据处理(通俗的循环的给SQL拼接一些信息)
	<where>标签是拼接SQL的条件语句,往往里边嵌套<if>或者choose等
<select id="selectByIF" resultType="com.zwei.domain.Event">
        select * from event
        /*where标签指定的是在SQL后拼接where条件,嵌套的IF来判断符合条件的拼接语句*/
        <where>
            <if test="event_id != null and event_id != '' ">
                and event_id = #{event_id}
            </if>
            <!--使用choose标签来拼接一个排序语句,也可以使用if-->
            order by event_desc
            <choose>
                <when test="orderFlag!=null and orderFlag == 'desc' ">
                    ${orderFlag}
                </when>
                <otherwise>
                    asc
                </otherwise>
            </choose>
        </where>
</select>

动态SQL小结

	动态SQL无非与一些SQL语句的动态信息拼接,以至于动态的响应前端需要的数据信息。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值