最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于通過(guò)Java連接mysql對(duì)反斜杠”\“轉(zhuǎn)義的測(cè)試詳解

 更新時(shí)間:2017年06月16日 09:27:40   作者:Juwend  
這篇文章主要給大家介紹了關(guān)于通過(guò)Java連接mysql對(duì)反斜杠”\“轉(zhuǎn)義的測(cè)試的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家理解反斜杠”\“轉(zhuǎn)義具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。

前言

在java中,反斜杠“\”轉(zhuǎn)義是“\”,因此表示一個(gè)“\”要使用“\\”,如果是正則表達(dá)式,那么表示一個(gè)“\”需要用“\\\\”,在mysql中,反斜杠轉(zhuǎn)義依然是“\”,和java相同。

現(xiàn)在問(wèn)題是:如果mysql中一個(gè)字段的內(nèi)容包含反斜杠,然后通過(guò)java連接mysql去篩選這個(gè)字段所在的條目,要怎么寫(xiě)才能將該字段篩選出來(lái)呢?下面就是一個(gè)實(shí)驗(yàn):

1,先建立測(cè)試數(shù)據(jù):

CREATE TABLE `test` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `name` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`id`)
);
insert into test (name) values ('\\'), ('\\\\');

向數(shù)據(jù)庫(kù)中插入2條數(shù)據(jù),name的值分別是“\”和“\\”。

2,使用jdbc連接mysql,然后測(cè)試篩選條件:

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 *條件"); // “*條件”見(jiàn)下文
pstmt.setString(1, "*篩選值"); // “*篩選值”見(jiàn)下文
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
 System.out.println(rs.getString("name"));
}

3,測(cè)試:

i.

*條件 為:name = ?

*篩選值 為:

“\\”可以篩選出name為“\”的數(shù)據(jù)

“\\\\”可以篩選出name為“\\”的數(shù)據(jù)

這個(gè)看起來(lái)是比較正常的

ii.

*條件 為:name like ?

*篩選值 為:

“\\”或“”\\\\可以篩選出name為“\”的數(shù)據(jù)

“\\\\\\”或“\\\\\\\\”可以篩選出name為“\\”的數(shù)據(jù)

開(kāi)始不變得奇怪了…

iii.

*條件 為:name like ‘%' ?

*篩選值 為:

“\\”或“\\\\”可以篩選出name為“\”和“\\”的數(shù)據(jù)

“\\\\\\”或“\\\\\\\\”可以篩選出name為“\\”的數(shù)據(jù)

和 ii. 有點(diǎn)類(lèi)似

iv.

*條件 為:name like ? ‘%'

*篩選值 為:

“\\\\”可以篩選出name為“\”和“\\”的數(shù)據(jù)

“\\\\\\\\”可以篩選出name為“\\”的數(shù)據(jù)

又變得好像正常了…類(lèi)似正則中的轉(zhuǎn)義

v.

*條件 為:name like ‘%' ? ‘%'

*篩選值 為:

“\\\\”可以篩選出name為“\”和“\\”的數(shù)據(jù)

“\\\\\\\\”可以篩選出name為“\\”的數(shù)據(jù)

和 iv. 類(lèi)似了

4,分析:

使用“=”方式篩選貌似就是常規(guī)理解中的轉(zhuǎn)義,但是一旦使用了“l(fā)ike”就開(kāi)始變得奇怪了,從測(cè)試來(lái)看,使用“l(fā)ike”篩選有些類(lèi)似正則式,不過(guò)沒(méi)有使用“%”占位符的篩選中常規(guī)轉(zhuǎn)義依然有效,另外,奇怪的是 ii. 和 iii. 中的6根反斜杠是個(gè)什么鬼…完全不能理解…

5,結(jié)論:

sql語(yǔ)句是“=”篩選時(shí),java就使用常規(guī)轉(zhuǎn)義即可

sql語(yǔ)句是“l(fā)ike”篩選時(shí),最好使用正則式轉(zhuǎn)義

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • Java中JSONObject與JSONArray的使用區(qū)別詳解

    Java中JSONObject與JSONArray的使用區(qū)別詳解

    這篇文章主要介紹了Java中JSONObject與JSONArray的使用區(qū)別詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • java學(xué)習(xí)筆記之eclipse+tomcat 配置

    java學(xué)習(xí)筆記之eclipse+tomcat 配置

    俗話說(shuō):工欲善其事必先利其器,既然要學(xué)習(xí)java,首先把java的開(kāi)發(fā)環(huán)境搗鼓一下吧,這里我們來(lái)談?wù)別clipse+tomcat的配置方法。
    2014-11-11
  • Mybatis批量更新報(bào)錯(cuò)問(wèn)題

    Mybatis批量更新報(bào)錯(cuò)問(wèn)題

    這篇文章主要介紹了Mybatis批量更新報(bào)錯(cuò)的問(wèn)題及解決辦法,包括mybatis批量更新的兩種方式,需要的的朋友參考下
    2017-01-01
  • Linux?Ubuntu系統(tǒng)下配置JDK環(huán)境、MySQL環(huán)境全過(guò)程

    Linux?Ubuntu系統(tǒng)下配置JDK環(huán)境、MySQL環(huán)境全過(guò)程

    眾所周知Ubuntu是一種基于Linux的操作系統(tǒng),它提供了一個(gè)穩(wěn)定、安全和易于使用的環(huán)境,下面這篇文章主要給大家介紹了關(guān)于Linux?Ubuntu系統(tǒng)下配置JDK環(huán)境、MySQL環(huán)境的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • Java通過(guò)What、Why、How了解弱引用

    Java通過(guò)What、Why、How了解弱引用

    這篇文章主要介紹了Java通過(guò)What、Why、How了解弱引用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • java源碼解析之String類(lèi)的compareTo(String otherString)方法

    java源碼解析之String類(lèi)的compareTo(String otherString)方法

    這篇文章主要給大家介紹了關(guān)于java源碼解析之String類(lèi)的compareTo(String otherString)方法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • 深入理解Mybatis中的resultType和resultMap

    深入理解Mybatis中的resultType和resultMap

    這篇文章給大家介紹了mybatis中的resultType和resultMap的用法實(shí)例講解,MyBatis中在查詢進(jìn)行select映射的時(shí)候,返回類(lèi)型可以用resultType,也可以用resultMap,至于兩種用法區(qū)別,通過(guò)本文一起學(xué)習(xí)吧
    2016-09-09
  • 淺析Java SPI 與 dubbo SPI

    淺析Java SPI 與 dubbo SPI

    在Java中SPI是被用來(lái)設(shè)計(jì)給服務(wù)提供商做插件使用的。本文重點(diǎn)給大家介紹Java SPI 與 dubbo SPI的相關(guān)知識(shí)及區(qū)別介紹,感興趣的朋友跟隨小編一起學(xué)習(xí)下吧
    2021-05-05
  • Maven在不同的環(huán)境獲取不同配置文件的方法

    Maven在不同的環(huán)境獲取不同配置文件的方法

    這篇文章主要介紹了Maven在不同的環(huán)境獲取不同配置文件的方法,需要的朋友可以參考下
    2023-10-10
  • springboot如何添加全局異常捕獲類(lèi)

    springboot如何添加全局異常捕獲類(lèi)

    這篇文章主要介紹了springboot如何添加全局異常捕獲類(lèi),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01

最新評(píng)論

谢通门县| 陇川县| 昔阳县| 无为县| 青浦区| 文安县| 元阳县| 海城市| 扬中市| 江孜县| 清徐县| 巴青县| 双辽市| 修武县| 临沂市| 罗平县| 合作市| 渭源县| 西丰县| 新化县| 利辛县| 和平区| 工布江达县| 新密市| 富裕县| 望城县| 大厂| 潼南县| 商水县| 五家渠市| 平塘县| 阿拉善右旗| 尤溪县| 西吉县| 宿迁市| 恩施市| 乌什县| 浮山县| 芜湖县| 马龙县| 龙海市|