官网网站建设公司,深圳龙岗网站维护,重庆公司网站 技术支持,邵东网页定制mysql数据库中的反斜杠”\“怎么使用Java进行转义发布时间#xff1a;2020-11-24 15:15:12来源#xff1a;亿速云阅读#xff1a;88作者#xff1a;Leah这期内容当中小编将会给大家带来有关mysql数据库中的反斜杠”\“怎么使用Java进行转义#xff0c;文章内容丰富且以专业…mysql数据库中的反斜杠”\“怎么使用Java进行转义发布时间2020-11-24 15:15:12来源亿速云阅读88作者Leah这期内容当中小编将会给大家带来有关mysql数据库中的反斜杠”\“怎么使用Java进行转义文章内容丰富且以专业的角度为大家分析和叙述阅读完这篇文章希望大家可以有所收获。前言在java中反斜杠“\”转义是“\”因此表示一个“\”要使用“\\”如果是正则表达式那么表示一个“\”需要用“\\\\”在mysql中反斜杠转义依然是“\”和java相同。现在问题是如果mysql中一个字段的内容包含反斜杠然后通过java连接mysql去筛选这个字段所在的条目要怎么写才能将该字段筛选出来呢下面就是一个实验1先建立测试数据CREATE TABLE test (id int(11) NOT NULL AUTO_INCREMENT,name varchar(255) DEFAULT NULL,PRIMARY KEY (id));insert into test (name) values (\\), (\\\\);向数据库中插入2条数据name的值分别是“\”和“\\”。2使用jdbc连接mysql然后测试筛选条件Class.forName(com.mysql.jdbc.Driver);Connection conn DriverManager.getConnection(jdbc:mysql://localhost:3306/test, root, root);PreparedStatement pstmt conn.prepareStatement(select * from test where *条件); // “*条件”见下文pstmt.setString(1, *筛选值); // “*筛选值”见下文ResultSet rs pstmt.executeQuery();while (rs.next()) {System.out.println(rs.getString(name));}3测试i.*条件 为name ?*筛选值 为“\\”可以筛选出name为“\”的数据“\\\\”可以筛选出name为“\\”的数据这个看起来是比较正常的ii.*条件 为name like ?*筛选值 为“\\”或“”\\\\可以筛选出name为“\”的数据“\\\\\\”或“\\\\\\\\”可以筛选出name为“\\”的数据开始不变得奇怪了…iii.*条件 为name like ‘% ?*筛选值 为“\\”或“\\\\”可以筛选出name为“\”和“\\”的数据“\\\\\\”或“\\\\\\\\”可以筛选出name为“\\”的数据和 ii. 有点类似iv.*条件 为name like ? ‘%*筛选值 为“\\\\”可以筛选出name为“\”和“\\”的数据“\\\\\\\\”可以筛选出name为“\\”的数据又变得好像正常了…类似正则中的转义v.*条件 为name like ‘% ? ‘%*筛选值 为“\\\\”可以筛选出name为“\”和“\\”的数据“\\\\\\\\”可以筛选出name为“\\”的数据和 iv. 类似了4分析使用“”方式筛选貌似就是常规理解中的转义但是一旦使用了“like”就开始变得奇怪了从测试来看使用“like”筛选有些类似正则式不过没有使用“%”占位符的筛选中常规转义依然有效另外奇怪的是 ii. 和 iii. 中的6根反斜杠是个什么鬼…完全不能理解…5结论sql语句是“”筛选时java就使用常规转义即可sql语句是“like”筛选时最好使用正则式转义上述就是小编为大家分享的mysql数据库中的反斜杠”\“怎么使用Java进行转义了如果刚好有类似的疑惑不妨参照上述分析进行理解。如果想知道更多相关知识欢迎关注亿速云行业资讯频道。