From《MyBatis从入门到精通》
<!-- 4.5 bind用法 bind标签可以使用OGNL表达式创建一个变量并将其绑定到上下文中。 需求: concat函数连接字符串,在MySQL中,这个函数支持多个参数,但在Oracle中只支持两个参数。 由于不同数据库之间的语法差异,如果更换数据库,有些SQL语句可能就需要重写。针对这种情况 可以使用bin标签来避免由于更换数据库带来的一些麻烦。 <bind>属性: name:为绑定到上下文的变量名 value:为OGNL表达式。 使用bind标签拼接字符串不仅可以避免因更换数据库而修改SQL,也能预防SQL注入。 --> <!--原代码--> <if test="username!=null and userName!=''"> and user_name like concat('%',#{userName},'%') </if> <!--改进后代码--> <if test="username!=null and userName!=''"> <bind name="userNameLike" value="'%'+userName+'%'"/> and user_name like #{userNameLike} </if>