mybatis中模糊查询like语句

动态查询: like 后面的 %% 串
除了使 bind
还可以使用mysql的字符串拼接函数 concat
还可以使用在sql语句中拼接通配符,会引起sql注入
<![CDATA[ and userAge <= #{userage2,jdbcType=VARCHAR} ]]>
可以使[]中的内容原样输出,避免<符号发生歧义

  <select id="selectUserInfoByParams" parameterType="UserInfoBean" resultMap="BaseResultMap">
    <!--<bind name="patternUserName" value="'%' + _parameter.getUsername() + '%'" />-->
    <bind name="patternUserAddress" value="'%' + _parameter.getUseraddress() + '%'"/>
    select
    <include refid="Base_Column_List"/>
    from userinfo

    <where>
      isDeleted = 0

      <if test="username != null and username != ''">
        <!--and userName like #{patternUserName}-->
        <!--and userName like concat('%', #{username,jdbcType=VARCHAR},'%')-->
        and userName like "%"#{username,jdbcType=VARCHAR}"%"
      </if>

      <if test="userage != null">
        and userAge >= #{userage,jdbcType=VARCHAR}
      </if>

      <if test="userage2 != null">
        <![CDATA[
                and userAge <= #{userage2,jdbcType=VARCHAR}
                ]]>
      </if>

      <if test="useraddress != null and useraddress != ''">
        and userAddress like #{patternUserAddress}
      </if>

      <if test="userregdate != null">
        and userRegDate >= #{userregdate,jdbcType=TIMESTAMP}
      </if>

      <if test="userregdate2 != null">
        and userRegDate &lt;= #{userregdate2,jdbcType=TIMESTAMP}
      </if>

    </where>
  </select>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值