Mybatis 中在传参时,$ 和# 的区别

MyBatis中使用parameterType向SQL语句传参,parameterType后的类型可以是基本类型int,String,HashMap和Java自定义类型。

在SQL中引用这些参数的时候,可以使用两种方式#{parameterName}或者${parameterName},

首先,我们说一下这两种引用参数时的区别,使用#{parameterName}引用参数的时候,Mybatis会把这个参数认为是一个字符串,例如传入参数是“Smith”,那么在SQL(Select * from emp where name = #{employeeName})使用的时候就会转换为Select * from emp where name = 'Smith';同时在SQL(Select * from emp where name = ${employeeName})使用的时候就会转换为Select * from emp where name = Smith。

再次,从安全性上考虑,能使用#尽量使用#来传参,因为这样可以有效防止SQL注入的问题。

最后总结一下必须使用$引用参数的情况,我能想到的目前只有一种,那就是参数的int型的时候,必须使用$引用。

MyBatis中使用parameterType向SQL语句传参,parameterType后的类型可以是基本类型int,String,HashMap和Java自定义类型。

在SQL中引用这些参数的时候,可以使用两种方式#{parameterName}或者${parameterName},

首先,我们说一下这两种引用参数时的区别,使用#{parameterName}引用参数的时候,Mybatis会把这个参数认为是一个字符串,例如传入参数是“Smith”,那么在SQL(Select * from emp where name = #{employeeName})使用的时候就会转换为Select * from emp where name = 'Smith';同时在SQL(Select * from emp where name = ${employeeName})使用的时候就会转换为Select * from emp where name = Smith。

再次,从安全性上考虑,能使用#尽量使用#来传参,因为这样可以有效防止SQL注入的问题。

最后总结一下必须使用$引用参数的情况,我能想到的目前只有一种,那就是参数的int型的时候,必须使用$引用。


相关文章

  • 基于Web开发的软件工程课程实践教学互动平台
  • 计算机时代2013年第12期 ・ 35 ・ 基于Web开发的软件工程课程实践教学互动平台 顾靓1,陈进原2,许锦才2,严盟2 (1.杭州电子科技大学,浙江杭州310018:2.浙江天正信息科技有限公司) 摘要:将软件工程课件放到网上让学生通 ...查看


  • 校园二手交易平台可行性研究报告
  • 校园二手交易平台可行性研究报告 1 引言 随着计算机以及网络技术的发展,Internet 应用在全球范围内日益普及,在众多的网络服务中,Web 给人耳目一新的感觉,而其中,网上购物已经日渐普及,很多人都通过网络来购物.目前上网已经成为大学生 ...查看


  • 项目中遇到的问题
  • 项目中遇到的问题 1. 业务需求 在增加功能的时候不太清楚功能的用处和其他地方关联的地方,针对到表的时候不太清楚表中字段的用处,表与表间的关联. 2. 项目中一封装好的工具 在遇到有些功能需求时,对一封装好的工具不太清楚怎么使用.去找一封装 ...查看


  • 平安面试题
  • 什么样的系统具有可扩展性? 可扩展性的系统具备以下特性: ① 方便的添加新功能 ② 扩展后新旧系统之间具有良好的集成性 ③ 扩展后系统仍能满足业务要求的想你功能,如及时性,可靠性等 ④ 安全性得到满足,并且扩展成本低 而一个具有可扩展的系统 ...查看


  • 简历的说话之道
  • 尊敬的面试官,下午好, 我叫冯中林.来自山东济宁.从事JavaEE软件开发工作有一年多的时间.今天是来应聘JavaEE软件开发工程师. 之前主要从事软件开发,功能模块开发的工作.开发过的项目有医药采集类的项目SpringMVC,Mybati ...查看


  • 单一来源采购理由
  • 关于对<XXX省职业院校技能大赛沙盘模拟企业经营赛项 竞赛平台>实行 单一来源采购的说明函 我校申报的<沙盘模拟企业经营全国技能大赛专用设备>采购项目: 根据<中华人民共和国招投标法>,<XXX省单 ...查看


  • [校园综合管理系统建设方案]
  • 吉林省达仁科技有限公司 长春美国国际学校 校园综合管理平台建设方案 一. 二. 校园综合管理建设背景和意义 .................................................................. ...查看


  • 受程度副词修饰的区别词的语义研究
  • 摘 要:区别词一般不受程度副词修饰,本文从语义分析的角度对能受程度副词修饰的区别词现象进行研究,得出能被程度副词修饰与区别词自身的语义特征有关,在特定范畴是对自身所表的属性特征的强调.凸显,将自身属性特征.类属意义极端化.程度副词与区别词搭 ...查看


  • 市场联络单
  • 市场部基础联络表单 拓展板块内容(美容美发) 联络区别要求( )归属经理: 日期 上述联络记录真实可靠. 联络人: 执行人: 市场部基础联络表单 拓展板块内容(烟酒食品) 联络区别要求( )归属经理: 日期 上述联络记录真实可靠. 联络人: ...查看


热门内容