文档章节

mybatis.xml文件中#与$符号的区别以及数学符号的处理

Clearboyz
 Clearboyz
发布于 2017/06/09 19:06
字数 367
阅读 34
收藏 0

1.在SQL文件中#与$使用区别

#{}表示一个占位符号,通过#{}可以实现preparedStatement向占位符中设置值,自动进行java类型和jdbc类型转换,#{}可以有效防止sql注入。 #{}可以接收简单类型值或pojo属性值。 如果parameterType传输单个简单类型值,#{}括号中可以是value或其它名称。

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

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

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

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

即:能用#就最好不用$.

2.在SQL语句文件中,符号>,<,>=,<=使用方法

如果在mapper.xml里使用>,<,>=,<=等能破坏xml格式的符号,会引起
mybaits无法正常解析xml文件。

解决方法是将sql语句写在<![CDATA[sql语句]]>中

代码如下:

<select id="test" resultType="java.lang.Integer">
<![CDATA[
select 1<2
]]>
</select>

 

本文转载自:http://www.cnblogs.com/wlhebut/p/6222042.html

Clearboyz
粉丝 1
博文 22
码字总数 2322
作品 0
海淀
程序员
私信 提问
表达不同与构建不同: 对计算机的唯一真正的要求 (TrustNo.1 ) -- 待修改!!!

在研究命令式语言与函数式语言的过程中, 发现其实真正构成计算机其计算能力的东西其实很少。 比如冯诺依曼机与数据流机的区别其实非常大, 数据流机甚至没有地址的概念但是一样可以用来实现...

刘小兵2014
2011/11/04
0
0
史上“最骚”公式编辑器,你了解多少!

提到在文档中编辑数学公式,大家肯定会想到要使用公式编辑器。但是关于公式编辑器,史上最骚气的还是要属MathType!其实Word中自带的公式编辑器就是MathType的最低版本,随着科技的发展,Mat...

学术研究软件
2016/05/26
248
0
MathML渲染器--GMathml

GMathml 是一个 MathML 的渲染器,用来将 MathML 标识语言转成形如下图的数学公式 支持输出到 PNG/SVG/PDF 等格式。 以下内容来自百度百科: http://baike.baidu.com/view/631411.htm MathML...

匿名
2009/01/13
3K
0
怎么在word中快速绘制图形

在数学试卷、论文、电子教案等编写过程中,我们经常要作出数学图形或图像,若用Word自身携带的绘图工具绘制,多有不便。比如一些曲线的形状很难画得像,画到位,作图时修修改改,颇为费力,所...

学术研究软件
2016/10/08
14
0
MathML渲染器--JEuclid

JEuclid 是一个Java 的 MathML 的渲染器,用来将 MathML 标识语言转成形如下图的数学公式 支持的输出格式包括:JPEG, BMP, WBMP, GIF, SVG, EMF, PDF, PS, SWF JEuclid 由一个MathML浏览器、...

匿名
2009/01/13
3.7K
0

没有更多内容

加载失败,请刷新页面

加载更多

springboot+jpa 错误信息org.springframework.beans.factory.BeanCreationException

报错信息 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/a......

冥焱
14分钟前
1
0
威胁快报|新兴挖矿团伙借助shodan作恶,非web应用安全再鸣警钟

近日,阿里云安全发现了一个使用未授权访问漏洞部署恶意Docker镜像进行挖矿的僵尸网络团伙。我们给这一团伙取名为Xulu,因为该团伙使用这个字符串作为挖矿时的用户名。 Xulu并不是第一个攻击...

迷你芊宝宝
21分钟前
1
0
十大经典排序算法动画与解析

排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序。 内部排序是数据记录在内存中进行排序。 而外部排序是因排序的数据很大,一次不能容纳全部的排序记...

夜黑人模糊灬
24分钟前
3
0
7. java枚举

1. 枚举是什么 有的时候一个类的对象是有限且固定的,这种情况下我们使用枚举类就比较方便 2. 为什么不用静态常量来替代枚举类呢? 3. 常用方式 3.1 方式1 枚举类: package cn.ali.tencent...

20190513
25分钟前
1
0
elasticsearch – 弹性搜索:“Term”,“Match Phrase”和“Query String”之间的差异

术语查询匹配单个术语,因为它是:不分析值。 所以,它不必根据你索引的情况而降低。 如果您在索引时间提供Bennett并且未分析该值,则以下查询将不返回任何内容: { "query": { "te...

xiaomin0322
31分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部