1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
      iBATIS如何使用$和#

      這篇文章主要為大家展示了“iBATIS如何使用$和#”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“iBATIS如何使用$和#”這篇文章吧。

      常熟網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)公司公司2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。

      我們?cè)谑褂胕BATIS時(shí)會(huì)經(jīng)常用到#這個(gè)符號(hào)。

      比如:

      sql 代碼

      select * from member where id =#id#

      然后,我們會(huì)在程序中給id這個(gè)變量傳遞一個(gè)值,iBATIS會(huì)自動(dòng)將#id#轉(zhuǎn)成我們傳遞的內(nèi)容。

      但是我最近碰到一個(gè)奇怪的問題。我在批量刪除或修改的時(shí)候,居然SQL失效了。

      SQL如下:

      sql 代碼

      update user set flag=#flag# where id in (#id#)      delete from user where id in (#id#)

      傳遞的id為1,2,3。但是數(shù)據(jù)卻沒有任何的修改。

      后來查找了半天,原來原因就是這個(gè)#的問題。因?yàn)閕BATIS默認(rèn)會(huì)把“#”中間的變量作為字符串來處理。這樣,就會(huì)出現(xiàn)這樣的SQL


      sql 代碼

      update user set flag='1' where id in ('1,2,3')          delete from user where id in ('1,2,3')

      這樣的SQL數(shù)據(jù)庫(kù)當(dāng)然是不會(huì)執(zhí)行的。那我們只有繞開iBATIS了嗎?

      其實(shí)不用,iBATIS其實(shí)還提供了另外一種方式,那就是使用$來傳遞值。你使用$將你的變量括起來,iBATIS不會(huì)給這個(gè)變量做任何的處理,直接生成你要的SQL

      SQL代碼

      update user set flag=$flag$ where id in ($id$)      update user set flag=1  where id in (1,2,3)      delete from user where id in ($id$)   delete from user where id in (1,2,3)

      還可以用ibatis的iterate解決:

      SQL:

      ﹤select id="test" parameterClass="java.util.List" resultClass="test.Roadline"﹥          select * from SYS_ROAD_LINE_INFO where ROAD_LINE_NO in           ﹤iterate open="(" close=")" conjunction=","﹥              #value[]#          ﹤/iterate﹥      ﹤/select﹥
      List list = new ArrayList();      list.add("aaa");      list.add("bbb");                        List rsList = sqlMap.queryForList("roadline.test", list);

      生成的SQL:

      select * from SYS_ROAD_LINE_INFO where ROAD_LINE_NO in (?,?)

      $中間的變量就是直接替換成值的

      #會(huì)根據(jù)變量的類型來進(jìn)行替換

      比如articleTitle的類型是string, 值是"標(biāo)題"的時(shí)候

      $articleTitle$ = 標(biāo)題

      #articleTitle# = '標(biāo)題'

      如果一個(gè)字段的名字不規(guī)范帶有#,那么在﹤select ...﹥ select name# from reader where id=#id#...﹤/select﹥語句中會(huì)報(bào)錯(cuò),我看過有人問過這個(gè)問題,說是name####但是還是不能解決無法對(duì)帶#的字段的查詢。 解決辦法肯定是有的。比如,你可以把這個(gè)字段當(dāng)做一個(gè)參數(shù)來傳遞給ibatis。然后用$$把這個(gè)變量括起來。

      以上是“iBATIS如何使用$和#”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


      分享名稱:iBATIS如何使用$和#
      文章網(wǎng)址:http://ef60e0e.cn/article/pogdpp.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        兴海县| 玛纳斯县| 庆阳市| 普定县| 嘉荫县| 柯坪县| 望城县| 盐边县| 文安县| 弥勒县| 容城县| 万全县| 堆龙德庆县| 永寿县| 满城县| 萨嘎县| 奉节县| 鄢陵县| 滨州市| 睢宁县| 灵台县| 吉林省| 海淀区| 石屏县| 泰顺县| 阿拉善右旗| 三门县| 楚雄市| 万载县| 沧源| 孝义市| 满城县| 武鸣县| 东宁县| 崇信县| 洛宁县| 清水河县| 米脂县| 家居| 阿勒泰市| 清徐县|