java插入数据库字符串拼接_java中PreparedStatement解决需转义字符向数据库中插入时的转义问题 | 学步园...
简单的执行如下语句去做数据库的插入操作是有问题的!它处理不了单引号,双引号等需要转义的字符的插入问题!
String sql = "insert into emailOriginal(id,date,subject,source,target" +
") value(\""
+ vo.getId() + "\",\""
+ vo.getDate()+"\",\""
+ vo.getSubject()+"\",\""
+ vo.getSource()+"\",\""
+ vo.getTarget()+"\");";
。。。
pstmt = dbc.getConnection().prepareStatement(sql);
。。。
pstmt.execute(sql);
会有如下错误:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'notional" stuff
经过查找发现是插入“nation”时,双引号没有经过转义!
现在修改成使用PreparedStatement,用?预处理查询条件,会避免上述简单的字符串拼接造成的转义问题。
String sql = "insert into emailOriginal(id,date,subject,source,target" +
") value(?,?,?,?,?);";
PreparedStatement pstmt = null;
try {
pstmt = dbc.getConnection().prepareStatement(sql);
pstmt.setString(1, vo.getId());
pstmt.setString(2, vo.getDate());
pstmt.setString(3, vo.getSubject());
pstmt.setString(4, vo.getSource());
pstmt.setString(5, vo.getTarget());
pstmt.execute();
//pstmt.execute(sql);
pstmt.close();
} catch (Exception e) {
e.printStackTrace();
}
其中的pstmt.setString(1, vo.getId());
会帮助字符串转义。
可以插入如下的记录了:
+------+------+--------+--------+----------+
| id | date | source | target | subject |
+------+------+--------+--------+----------+
| id | date | source | target | "subject |
| id | date | source | target | 'subject |
+------+------+--------+--------+----------+
java插入数据库字符串拼接_java中PreparedStatement解决需转义字符向数据库中插入时的转义问题 | 学步园...相关推荐
- java插入数据库字符串拼接_java连接mysql数据库实现单条插入和批量插入
本文实例为大家分享了java连接mysql数据库实现单条和批量插入的具体代码,供大家参考,具体内容如下 本文插入数据库的数据来源:java + dom4j.jar提取xml文档内容 1.连接数据库 p ...
- java插入数据库字符串拼接_JAVA字符串怎么连接?
1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int len=s.length(); 2.ch ...
- java字符串拼接_Java 8中字符串拼接新姿势:StringJoiner
有一个重要的拼接方式,那就是Java 8中提供的StringJoiner ,本文就来介绍一下这个字符串拼接的新兵. 如果你想知道一共有多少种方法可以进行字符串拼接,教你一个简单的办法,在Intelli ...
- java字符串拼接_为什么阿里巴巴不建议在for循环中使用quot;+quot;进行字符串拼接...
点击上方"Java专栏",选择"置顶或者星标" 第一时间阅读精彩文章! ☞ 程序员进阶必备资源免费送「21种技术方向!」 点击查看☜ 字符串,是 Java 中最 ...
- java 字符串拼接_JAVA字符串拼接常见方法汇总
字符串的拼接,常使用到的大概有4种方式: 1.直接使用"+"号 2.使用String的concat方法 3.使用StringBuilder的append方法 4.使用StringB ...
- java字符连接字符串数组_Java中连接字符串的最佳方法
java字符连接字符串数组 最近有人问我这个问题–在Java中使用+运算符连接字符串是否对性能不利? 这让我开始思考Java中连接字符串的不同方法,以及它们如何相互对抗. 这些是我要研究的方法: 使用 ...
- JAVA的MySQL字符串拼接_字符串的拼接-MYSQL
SQL允许两个或者多个字段之间进行计算,字符串类型的字段也不例外.比如我们需要以"工号+姓名"的方式在报表中显示一个员工的信息,那么就需要把工号和姓名两个字符串类型的字段拼接计算: ...
- Java 5种字符串拼接方式性能比较。
最近写一个东东,可能会考虑到字符串拼接,想了几种方法,但对性能未知,于是用Junit写了个单元测试. 代码如下: import java.util.ArrayList; import java.uti ...
- java web请求字符串处理_java web工作常用技能篇(三)-封装复杂请求对象2
前言:在各类网站论坛上,没有找到与工作比较贴切的技能,所以特此写一些对刚步入工作或者工作中没有重视的技能与问题,各位大牛请及时关闭文章. ps1:文中所有标点都是英文的,看官请不要在意.为了便于平时敲 ...
最新文章
- r语言 not enough x observations_R基础知识
- window系统查看端口被哪个进程占用了,并将它结束
- vs2015安装与单元测试以及经过优化的算法
- c++ 管理员身份_CATIA的管理员模式和多版本环境变量设置
- 中压缩数组_Java稀梳数组,什么是稀梳数组?为什么使用稀梳数组?
- extract()和extact_first()的区别
- Security+ 学习笔记51 风险分析
- 分不清蓝牙适配器、蓝牙接收器和蓝牙发射器?伦茨科技为你讲解
- js遍历(js遍历json对象)
- 一个管理系统实体联系图
- 【云速建站】网站的基本设置
- 涉密计算机怎么更新补丁,windows系统补丁你更新还是不更新?
- 国产框架MindSpore联合山水自然保护中心,寻找、保护「中华水塔」中的宝藏生命
- NTFS下的USN日志文件研究
- 实践数据湖iceberg 第十四课 元数据合并(解决元数据随时间增加而元数据膨胀的问题)
- 虎门大桥抖动,千亿级的物联网市场被打开
- C++ COM组件的编写
- 定时任务:创建静态定时任务、动态定时任务
- Html5 学前须知
- mysql报警代码183_mysql误删操作回复