最近在用mybatis,之前用过ibatis,总体来说差不多,不过还是遇到了不少问题,再次记录下,

比如说用#{},和 ${}传参的区别, 

使用#传入参数是,sql语句解析是会加上"",比如  select * from table where name = #{name} ,传入的name为小李,那么最后打印出来的就是

 select * from table where name = ‘小李’,就是会当成字符串来解析,这样相比于$的好处是比较明显对的吧,#{}传参能防止sql注入,如果你传入的参数为 单引号',那么如果使用${},这种方式 那么是会报错的,

另外一种场景是,如果你要做动态的排序,比如  order by   column,这个时候务必要用${},因为如果你使用了#{},那么打印出来的将会是

select * from table order by  'name'  ,这样是没用,

目前来看,能用#就不要用$,

转载于:https://www.cnblogs.com/zuge/p/5810301.html

mybatis中#{}和${}传参的区别相关推荐

  1. mybatis java传参_[Java教程]Mybatis批量和传参

    [Java教程]Mybatis批量和传参 0 2014-07-31 04:00:12 MyBatis中批量插入 方法一: resultType="java.lang.String" ...

  2. C语言与java中函数传参比较

    C语言与java中函数传参比较 首先先说结论:C语言中参数传递有值传递,地址传递,引用传递.但java中的参数传递只有值传递 1.C语言中的参数传递 1>值传递 值传递非常好理解,其实就是对函数 ...

  3. c++ 引用传参和指针传参的区别

    概念 指针从本质上讲是一个变量,变量的值是另一个变量的地址,指针在逻辑上是独立的,它可以被改变的,包括指针变量的值(所指向的地址)和指针变量的值对应的内存中的数据(所指向地址中所存放的数据). 引用从 ...

  4. python解包裹_关于Python中包裹传参和解包裹的理解

    原标题:关于Python中包裹传参和解包裹的理解 1.包裹传参 首先思考一个问题:为什么要有包裹传参?原因包括但不仅限于以下两点:①不确定参数的个数.②希望函数定义的更加松散灵活 包裹传参分两种:包裹 ...

  5. vue 事件调用 传参_对vue下点击事件传参和不传参的区别详解

    如下所示: {{btn_text1}} {{btn_text2}} var _vm = new Vue({ data : { btn_text1 : '点击1' , btn_text2 : '点击2' ...

  6. 在Java中动态传参调用Python脚本

    最近,又接触到一个奇葩的接口,基于老板不断催促赶时间的情况下,在重写java接口和复用已有的python脚本的两条路中选择了后者,但是其实后者并没有好很多,因为我是一个对python的认识仅限于其名称 ...

  7. click传值vue_对vue下点击事件传参和不传参的区别详解

    如下所示: {{btn_text1}} {{btn_text2}} var _vm = new Vue({ data : { btn_text1 : '点击1' , btn_text2 : '点击2' ...

  8. shell脚本中编写SQL中 以传参(${accdate})的方式 动态:求 前12个月的日期和求 前一周(7天的日期)

    shell脚本中 编写SQL中 以传参(${accdate})的方式 动态 求 前12个月的日期 CAST(CAST(DATE_FORMAT(DATE_SUB(from_unixtime(unix_t ...

  9. mybatis中association 和collection 的区别

    mybatis中association 和collection 的区别:https://zhidao.baidu.com/question/1240407172484106299.html 两个实体类 ...

最新文章

  1. 机器学习(14)逻辑回归(实战) -- 癌症分析
  2. ios html 有白色边框,html – 仅在iPad上的桌子的单元格之间非常薄的白色边框
  3. GEO数据挖掘(3)-芯片基础知识
  4. serverlet 区别_Servlet中/和/*的区别
  5. linux引导程序切换
  6. python让用户输入一个列表_Python:如何将用户输入添加到列表中?
  7. NetCDF Overview
  8. linux 8g内存 swap,linux可用内存足够为什么还用swap
  9. MongoDB学习day05--MongDB开启权限验证,创建用户
  10. 两个水平排列的div顶部对齐~详细
  11. 嵌入式打印机系统移植支持HP LaserJet 1020 plus 激光打印机和HP DeskJet 1010喷墨打印机
  12. 草图大师su安装程序无法进行的解决办法。
  13. 实数系的基本定理_1.1 实数
  14. 【Unity3D-Mirror多人坦克大战】子弹及其开火位置的生成、子弹开火逻辑(四)
  15. 阿里巴巴编码规范认证
  16. 如何运行PION/ION(分布式流媒体系统)
  17. 测试用例(功能用例)——资产盘点
  18. 第四扩展fs_四个fs
  19. C语言实现数组的排序——冒泡排序
  20. 【密码产品篇】VPN产品密钥体系结构

热门文章

  1. java heap_javaHeap的组成及GC监控
  2. 【分享-EasyRecovery】删除的文件找不回?不存在的!
  3. pod中mysql配置文件修改_通过configmap更新k8s里的mysql配置文件
  4. 小爱同学app安卓版_小爱课程表3.0全新升级 课表倒入更简单所有手机能用
  5. eclipse远程连接hadoop_hadoop集群搭建详细方法
  6. C/C++文件剪切复制删除
  7. java后端模拟http请求_Http请求后端
  8. python解析.pyd文件
  9. php公众号客服系统,公众号在线客服系统哪个好,主流客服系统评测及推荐
  10. post多个参数_如何使用Arjun v1.3挖掘HTTP参数