Mybatis <trim>的使用和替换<where>以及where 1=1

使用<where>以及where 1=1可以避免出现and,or直接与where相连

select * from xxx where and SQL1;

应该为

select * from xxx where SQL1;

比如select * from xxx where and xx==x;

当where 1=1

---->select * from xxx where 1=1 and xx==x;

或者<where>

---->select * from xxx where xx==x;

现用<trim>替换

<?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.xxx.xxx.xxxMapper">
    <select id="findCustomerByNameAndJobs"
            parameterType="com.xxx.xxx.xxx"
            resultType="com.xxx.xxx.xxx">


        select * from xxx
        <trim prefix="where" prefixOverrides="and">
            <if test="xx !=null and xx !='' ">
                and SQL1
            </if>
        </trim>


    </select>
</mapper>

若 <if test="xx !=null and xx !='' ">成立,则最终SQL为

select * from xxx where SQL1;

在<trim>中的属性prefix会句首加上whereprefixoverrides会句首去除and SQL1句首的and


trim四个属性prefix,prefixOverrides,suffix,suffixOverrides,

trim:修剪

fix:修

pre:前

suffix:后缀

override:撤销

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值