文档章节

JDBC下解决特殊字符的方式

zhuzhuguang
 zhuzhuguang
发布于 2014/09/16 08:19
字数 182
阅读 126
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

刚刚解决了访问数据库的特殊字符的问题,重要的几点如下:
1)尽量使用预处理查询,JDBC的预处理解决了大多数特殊字符的问题,较好的解决了SQL注入

2)对于查询字符中带有%和_的,SQL语句中like的,一般会全部查出,如果要匹配%和_,应该加入ESCAPE,并在%前加入转义字符,如"\"
匹配50%:

select * from A where A.data like '%50\%% escape '\'



3)如果查询字符中带有%或_,并且带有\,需要首先将\转义:\\,在用2)中方式用escape对%和_转义
匹配50\%:

select * from A where A.data like '%50\\\%% escape '\'


if(keyword.contains("%") || keyword.contains("_")){
    keyword = keyword.replaceAll("\\", "\\\\")
                     .replaceAll("\\%", "\\\\%")
                     .replaceAll("\\_", "\\\\_");
}

© 著作权归作者所有

zhuzhuguang
粉丝 3
博文 24
码字总数 6185
作品 0
朝阳
程序员
私信 提问
Java中应该注意的一些特殊字符

replace ,replaceAll 两者都是由正则表达式类库实现的,但是 replace 采用的是字符串原有的意思来替换,而replaceAll 则是按照正则表达式的字符串来替换,正则表达式中有 15 个元字符,是有特...

天天顺利
2015/05/05
45
0
fastjson处理特殊字符

@wenshao 你好,想跟你请教个问题: 温少,我现在遇到一个问题,json的key里面有一些特殊字符,例如"-"":"等,我想将json直接转换成对应结构的java对象,不过现在需要java对象中的变量和jso...

yuriLY
2013/07/05
4.8K
1
好程序员Java分享Java语言中的常见的转义字符

  好程序员Java教程分享常见的转义字符,在Java字符常量中,反斜杠()是一个特殊的字符,被称为转义字符,它的作用是用来转义后面一个字符。转义后的字符通常用于表示一个不可见的字符或具...

好程序员IT
07/03
18
0
Windows不能用鼠标双击运行jar文件怎么

Java应用程序jar文件可以由 JVM(Java虚拟机)直接执行,只要操作系统安装了JVM便可以运行作为Java应用程序的jar文件,其跨平台特性使得很多工具软件都用jar方式来部署分发,比如用于HP WebO...

java-苦苦甜甜
2013/06/26
271
0
java基础--JDK安装、环境变量配置、工具开发第一个程序、数据类型、运算符

-----Java基础大纲----- **-----本章节-----** 1.Java语言的历史、特点及工作原理 2.JRE和JDK的介绍 3.Java运行环境和开发工具 4.Java基础语法 **-----下一章节-----** 5.条件语句 6.循环 7....

我是宁采臣
2018/06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

003-open-falcon的界面操作

界面操作 添加主机组 主机组中添加主机 监控模板创建 使用模板

伟大源于勇敢的开始
16分钟前
2
0
API版本控制的最佳实践? [关闭]

Web服务REST API版本控制是否有任何已知的方法或最佳实践? 我注意到AWS通过端点的URL进行版本控制 。 这是唯一的方法还是有其他方法来实现同一目标? 如果有多种方式,每种方式的优点是什么...

技术盛宴
16分钟前
2
0
maven 打包同时引入本地jar包

方法一(pom文件指定jar包目录进行引入) 修改手动引入的包放在项目目录下,如lib目录 修改pom文件,引入依赖并且将scope设置为system 同时配置maven打包插件 方法二(将jar包安装至本地仓库后...

张泽立
20分钟前
4
0
如何判断DOM元素在当前视口中是否可见?

有没有一种有效的方法来判断DOM元素(在HTML文档中)当前是否可见(显示在视口中 )? (问题是指Firefox) #1楼 请参阅使用getBoundingClientRect的边缘源。 就像是: function inViewport ...

javail
31分钟前
2
0
报表如何实现行列互换效果?

通常我们设计的二维的交叉报表,横向的维度和纵向的维度是固定的,而用户希望更希望能根据自己的需要快速转换横向纵向维度来查看报表。 如上图所示,我们通过点击一个按钮或文字,就可将报表...

泡泡糖儿
34分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部