Mybatis中$和#的区别??举个例子最好???

Mybatis中$和#的区别??举个例子最好,谢谢,配置文件和sqlMapper中使用的??

0

3个回答

#是绑定变量,$是拼接SQL.

0
suwu150
suwu150 有点还是不清楚。。。。
2 年多之前 回复
 可以理解为#是参数占位符号,而$则是字符串拼接符号。
1)使用#传入参数是,sql语句解析是会加上"",比如  select * from table where name = #{name} ,传入的name为小李,那么最后打印出来的就是select * from table where name = ‘小李’,就是会当成字符串来解析,这样相比于$的好处是比较明显对的吧,#{}传参能防止sql注入,如果你传入的参数为 单引号',那么如果使用${},这种方式 那么是会报错的。
2)$则是直接拼接,不加字符串的引号,例如:如果你要做动态的排序,比如  order by  name,这个时候务必要用${},因为如果你使用了#{},那么打印出来的将会是select * from table order by  'name'  自动加上引号的话,语法就错了。所以需要使用$拼接name order by name。

0

类似于JDBC链接时Statement和PrepareStatement的区别,$这种使用方式如果没有记错的话是可以进行SQL注入的吧?一般情况下是不要求使用$符
号进行参数的设置的

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
IQ(贪心)
题目描述 根据世界某权威学会的一项调查,学信息学的学生IQ非常高。举个最好的例子,如果我们把学信息学的一些学生调去学数学,那么两个竞赛的学生平均IQ都会提升!! 现在给出一群数学竞赛全体学生的IQ和信息学竞赛全体学生的IQ,问最多能把几个学信息学的学生调去学数学,而两个竞赛的学生平均IQ都有提升呢? 每次只调一个学生,而且每次调配,两个竞赛的学生平均IQ都要提升。 输入 第1行一个正整数N
微信小程序四种页面跳转(最详细)
- wx.navigateTo 用于保留当前页面、跳转到应用内的某个页面,使用 wx.navigateBack可以返回到原页面。对于页面不是特别多的小程序,通常推荐使用 wx.navigateTo进行跳转, 以便返回原页面,以提高加载速度。当页面特别多时,则不推荐使用。 - wx.redirectTo 当页面过多时,被保留页面会挤占微信分配给小程序的内存,或是达到微信所限制的 5 层页面栈。这时,...
线程与进程的区别,举个例子让你快速理解
如果把CPU比喻成工厂,那么进程就是工厂中的车间,而线程就是车间中的机器...
C C++中关于值传递和引用传递,指针传递之间的区别
首先对这三种传递方式进行一个了解值传递:形参是实参的拷贝,改变形参的值并不会影响外部实参的值。从被调用函数的角度来说,值传递是单向的(实参->形参),参数的值只能传入,不能传出。当函数内部需要修改参数,并且不希望这个改变影响调用者时,采用值传递。而指针传递和引用传递一般适用于:函数内部修改参数并且希望改动影响调用者。对比值传递,指针/引用传递可以将改变由形参“传给”实参(实际上就是直接在实参...
$与#的区别
一 .#与$区别说通俗一点就是          $中间的变量就是直接替换成值的          #会根据变量的类型来进行替换          比如articleTitle的类型是string, 值是"标题"的时候               $articleTitle$ = 标题               #articleTitle# = '标题'
Java基础面试题9-异常的结构,运行时异常和非运行时异常,各举个例子
1.Java异常机制Java把异常当做对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。Java中的异常分为两大类:错误Error和异常Exception,Java异常体系结构如下图所示:图片来源:http://blog.csdn.net/wuwenxiang91322/article/details/103463372.ThrowableThrowable类是所...
一个简单的死循环事例
一个简单的死循环,初学者可以借鉴一下,还凑合。
Java中类与对象的概念区别
 Java是一种面向对象的程序设计语言(Object Oriented Programming:OOP),面向对象的程序设计语言中有类和对象的概念,它们在概念上有什么区别呢?   这往往是一个令面向对象的初学者感到迷惑的问题。      下面的解说虽然针对的是Java语言,但对所有面向对象的程序设计语言都通用。      什么是类      在面向对象的程序设计语言中,类是对一
一个简单的例子让你理解值传递和引用传递
碰到一些做了好几年java开发的程序员还弄不清楚值传递和引用传递的区别,下面通过一个简单的例子来说明:public class Person { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }
参数中,值传递、指针传递、引用传递的区别
值传递: 形参是实参的拷贝,改变形参的值并不会影响外部实参的值。从被调用函数的角度来说,值传递是单向的(实参->形参),赋值完毕后实参就和形参没有任何联系。当函数内部需要修改参数,并且不希望这个改变影响调用者时,采用值传递。 #include<stdio.h> //值传递示例 void swap(int a,int b) { //拷贝临时变量 int temp=...
关于值传递和引用传递的一个典型例子
深入理解引用传递 public class Main { public static void changeStrBuffer(StringBuffer sb1, StringBuffer sb2) { sb1.append(" World"); sb2 = sb1; } public static void main(String[...
值传递,指针传递,引用传递的区别
1.值传递 值传递的意思就是把实际参数的值传递给对应的形式参数,形式参数接收的是实际参数的一个副本,在方法内部操作的是形参而非实参,其值的改变并不影响实参。 2.引用传递 引用传递也就是传的是地址,在方法内部调用时,实际参数的地址被传进去了,而非值传递。在内存中,实参与形参都指向了同一片地址区域,形参的值改变了,实际参数的值同样也跟着改变。 3.指针传递 C++
面向对象与面向过程的区别(举例)
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。 例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回...
什么是竞态条件? 举个例子说明。
1、什么是竞态条件? 当两个线程竞争同一资源时,如果对资源的访问顺序敏感,就称存在竞态条件。 导致竞态条件发生的代码区称作临界区。 在临界区中使用适当的同步就可以避免竞态条件。 临界区实现方法有两种,一种是用synchronized,一种是用Lock显式锁实现。 2、实例: class Counter { protected long count = 0; pub...
javascript作用域和执行上下文的区别
光是从字面上的概念上来理解的话有点绕,其实很好区分。var a=1; //全局作用域 function fn1(){ var a=2; //fn1作用域 }1234如上代码,作用域代表着已声明变量或者函数的访问范围,在fn1作用域内使用变量a会先从当前作用域寻找,如果没有会往作用域上端寻找。this.a=1; //全局执行上下文 function fn1(){
md5用法,最好举个例子
md5用法,最好举个例子rnmd5的类,md5.cpp和md5.h已经下载到但不知道怎么用rn比如我加密Edit->Textrn怎么弄呀rn
Java 异常机制,异常的结构,运行时异常和非运行时异常
Java异常机制 异常是程序运行过程中出现的错误。本文主要讲授的是Java语言的异常处理。Java语言的异常处理框架,是Java语言健壮性的一个重要体现。 Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。在Java API中已经定义了许多异常类,这些异常类分为两大类,错误Error和异常Exception。Java异常体系结构呈
MVC是什么?MVC设计模式是什么请给一个实例?
1.MVC理论及实例 马 克-to-win:MVC是什么呢?它是一种设计模式。设计模式又是什么呢?就是对待一类特定的问题,我们采取一套特别的行之有效的解决办法。这类解决办 法,被业内公认为是解决这类问题的最好的办法。你用别的方案来解决这个问题行不行?是可以的。但是从各个角度综合来讲,(开发速度,可维护性,团队开发等 等)没有人家公认的这套解决方案好。目前,对于动态网站项目来讲,MVC模式就是最好的...
举个栗子!Tableau 技巧(78):学做常用的倾斜图(slopegraph)
倾斜图 slopegraph(又名斜线图或斜率图)可以展示单指标不同时期的变化。既能展示值的大小变化,也能同时展示排名的变化。例如下图,我们以“赛队名次”为指标查看以下20支赛队的预测名次与实际名次的变化。左边是预测名次、右边是实际名次;颜色表示名次进步或退步(橙红色表示进步、灰蓝色表示退步);连线的粗细表示差距的多少,线条越粗表示实际名次比预测相差越大。...
高中数学如何学好,必修一函数的单调性与最值(习题)
很多同学给老师留言说,函数的概念我懂,可是就是不会做题,高中数学必修一函数章节那个点,一定要把函数的基础学扎实了,然后利用技巧方法去解关于函数的单调性与最值这个点,不管是函数那个点都要学好基础。 大部分同学都能掌握必修一函数章节内容,重点还在于抽象函数的定义域,这就需要同学们仔细思考,回顾函数概念才能弄懂的;函数值域的求法,重点掌握换元法和方程组法、数形结合法,这些方法是最基础的。另外对于函数的...
Java多态性详细举例说明(很经典例子)
(一)相关类
举个例子解释下什么是线程不安全?
答:上厕所的时候,厕门不关,多个人进同一个坑,一个人还没完,另一个人就进去了 什么是线程同步? 答:给厕所加一把锁,所有人有序的上厕所 什么是死锁呢? 答:有个人进去把门锁了,不知道为何一直就没再出来 死锁可以完全避免吗? 答:理论上是不可以的,因为上厕所的人有可能会猝死在里面,只能预防。
不可重复读及幻读区别及隔离级别说明
首先描述一下问题: ManagerA,ManagerB,ManagerC都用了@Transaction注解,A插入了数据,在A中通过线程池新建线程异步调用C,主线程中继续调用B,B会往数据库中插入数据,同时C中有查B中插入的数据,但是即使过来好久,在C中也查不到B中插入的数据。通过打断点,可以用数据库客户端能查到B插入的数据。 问题分析: 首先分析事务的传播特性,@Transaction注解...
【基础知识】进程跟线程的举例说明
该文章转自一篇文章,形象的说明了进程跟线程之间的关系: http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html
c#序列化、反序列化实例
序列化就是将一个对象的状态持久化,把当前对象的信息保存到文件中,在需要时反序列化获取该对象的信息。 下面是序列化与反序列化的实例。   输入如图所示的信息,点击输出格式内的二进制格式按钮,将输入当前对象信息的二进制格式文件(默认保存在当前工程的bin目录下),在进行反序列化时,在反序列化框的TextBox内输入binar.dat也就是已经输出的文件,点击二进制格式的反序列化按钮即可获得以
举例说明 什么叫期货?
期货两个功能   1.套期保值   一些企业常年需要某中原料,比如大豆   那么,企业预算的时候要有一个可以接受的进货价格,   太高就会影响利润,但到没货的时候不可能不进,这里指没有现货.   为了保证现货价格稳定,该企业可以在期货市场卖出跟将来需要的现货数量差不多的大豆,也就是卖空,   这样,不管将来大豆价格是升还是降,该企业的进货成本基本上比较稳定.   比如:   企
动态代理的一个比较优雅的实例
之前的动态代理的客户端太过于复杂。通过实验,发现了一种比较优雅的代理模式的模板。做了一个实例,可以简化客户端的代码量。 1 功能接口: package dynamic_proxy; public interface Db_create { public void open_db(); } 2 实现类1: package dynamic_proxy; public class
C# 中使用事务的例子
<br />using System;<br /> using System.Collections.Generic;<br /> using System.Text;<br /> using System.Data.SqlClient;<br /><br /> namespace 事务使用<br /> {<br />     class Program<br />     {<br />         static void Main(string[] args)<br />     
Java中的强引用,软引用,弱引用,虚引用
作者:winterSunshine链接:https://www.zhihu.com/question/37401125/answer/100981172来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。1.概念解释强引用是使用最普遍的引用:Object o=new Object(); 特点:不会被GC将对象的引用显示地置为null:o=null; // 帮助垃...
Java中的a++和++a的区别
1、a++和++a的区别       a++表示先将a放在表达式中运算,然后再加1;       ++a表示先将a加1,然后再放在表达式中运算 2、实例 (1)Java代码 /** * @Title:JiaJia.java * @Package:com.you.model * @Description:比较a++与++a的区别 * @Author: 游海东 * @dat
2018 iOS 面试题大全(补充完整版)
原文地址:2018 iOS 面试题大全 由于原作者并没有继续更新,这里我转过来继续更新下 整理的一些iOS面试相关问题,持续更新,敬请关注 2018 iOS面试题大全---全方面剖析面试 1、2018 iOS面试题---UI相关:事件传递,图像显示,性能优化,离屏渲染 2、2018 iOS面试题---Objective_C语言特性相关问题 3、2018 iOS面试题---runtime相关 ...
组合数问题 解题报告
NOIP2016Day2T1 组合数递推+二维前缀和
抽象类和接口的使用比较(举例)
抽象类和接口的使用比较(举例)
一个闭包的小例子
首先先解释一下作用域的概念:     在JavaScript中,只有函数具有作用域。也就是说,在一个函数内部声明的变量在函数外部无法访问。 定义在一个函数中的变量在改函数的内嵌函数中是可以访问的。 下面先举一个作用域的例子: function foo(){ var a = 10; function bar(){ a *= 2; return...
举一个例子说说为什么要封装
控制对成员的访问权限有两个原因。 第一是为了使用户不要碰那些他们不该碰的部分这些部分对于类的内部操作是必要的,但是她并不属于客户端 程序员所需接口的一部分。因此将方法和域指定成private,对客户端程序员而言是一种服务。因为这样他们可以很清楚地看到什么对他们重要,什么是他们可以忽略的,这简化了他们对类的理解。 第二,这也是最重要的原因,为了让类库的设计者可以更改类的内部工作方式,而不必担心这样会给客户端程序员造成重大影响。访问权限控制确保不会有任何客户端程序员依赖于某个类的底层实现的任何部分。
线程同步结合例子介绍
很好的介绍了线程同步的使用 里面的例子非常简洁 适合学习
关于Spring AOP 原理解析和举例!
反射实现 AOP 动态代理模式(Spring AOP 的实现 原理) ,其实AOP的意思就是面向切面编程.  OO注重的是我们解决问题的方法(封装成Method),而AOP注重的是许多解决解决问题的方法中的共同点,是对OO思想的一种补充!  举的一个例子说吧:  通常我们现在要开发的一个应用里面有很多的业务方法,但是,我们现在要对这个方法的执行做全面监控,或部分监控.也许我们就会在要一些方法
druid简单例子mybatis版
为什么选择使用阿里巴巴数据库连接池Druid? 阿里巴巴推出的国产数据库连接池,据网上测试对比,比目前的DBCP或C3P0数据库连接池性能更好 简单使用介绍 Druid与其他数据库连接池使用方法基本一样(与DBCP非常相似),将数据库的连接信息全部配置给DataSource对象 基于Spring创建 1. 配置jdbc.properties: #drui
sql server 2005 添加字段名例子
use master go use testDB go create table studentInfo( --字段名 数据类型 约束(一般为非空约束) stuID int not null , stuName varchar(20) not null , stuAddress varchar(50) not null , stuTel varchar(20) not null )
Mybatis 常见的功能实现
1.获取主键自增的  的方法          1.添加 useGeneratedKeys=true &amp;lt;insert id=&quot;insert1&quot; parameterType=&quot;TUser&quot; useGeneratedKeys=&quot;true&quot; keyProperty=&quot;id&quot;&amp;gt;          2 .order 表示 执行insert 之后  LAST_INSERT_ID() ...
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 最好的大数据培训 最好大数据培训