使用

MySQL可以使用CONCAT函数。例:

<if test="userName != null and userName != ''">
  and user_name like concat('%', #{userName}, '%')
</if>

注意:使用CONCAT函数连接字符串,在 MySQL 中,这个函数支持多个参数,但在 Oracle 中只支持两个参数。

针对这种情况,可以使用 bind 标签来避免由于更换数据库带来的一些麻烦。将上面的方法改为 bind 方式后,代码如下:

<if test="userName != null and userName != ''">
    <bind name="userNameLike" value="'%' + userName + '%'"/>
    and user_name like #{userNameLike}
</if>

bind 标签的两个属性都是必选项,name 为绑定到上下文的变量名,value 为 OGNL 表达式。

posted on 2017-07-13 15:02  十七年蝉  阅读(2662)  评论(0编辑  收藏  举报