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>

最新文章

  1. 【初恋】vue单页应用开发总结
  2. (WPF) 基本题
  3. Junit 测试 Spring
  4. linux matlab2013b 安装教程
  5. 自定义异常以及runtime类
  6. WPF中嵌入Flash(ActiveX)
  7. BZOJ 1827: [Usaco2010 Mar]gather 奶牛大集会
  8. bzoj3295
  9. 类加载器与methodinterceptor接口
  10. Oracle静态监听与动态监听概念全解析
  11. eclipse汉化教程,新手神器
  12. ML—高斯判别分析
  13. 电脑开机出现“致命错误C0000034。。。”--该怎么办?
  14. idea上手
  15. 活用RPM获取包的信息
  16. oi程序提交注意:bool
  17. 使用函数式编程消除重复无聊的foreach代码(Scala示例)
  18. 修改.net core 运行端口
  19. 使用 Python 把多个 MP4 合成一个视频(转)
  20. delphi 如何让ScrollBox的内容与滚动条一起实时滚动

热门文章

  1. centos 6.5 搭建ftp 服务器(vsftpd的配置文件说明)
  2. C# 生成txt日志文件
  3. PostgreSQL在win7上安装详细步骤
  4. C# 如何使用 Sql Server Compact 数据库
  5. Win10的UWP之标题栏的返回键(一)
  6. Linux iostat
  7. WordPress中.user.ini 权限问题
  8. Qt云服务/云计算平台QTC(Qt Cloud Services)入门(0)
  9. Linux虚拟机没有IP的解决办法
  10. C#最新功能(6.0、7.0)