一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 簡單了解java ibatis #及$的區別和用法

簡單了解java ibatis #及$的區別和用法

2020-09-28 00:30愛笑的berg Java教程

這篇文章主要介紹了簡單了解java ibatis #及$的區別和用法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

1、#$兩者含義不同

#:會進行預編譯,而且進行類型匹配;

$:不進行數據類型匹配。

示例:變量name的類型是string, 值是"張三"

$name$ = 張三
#name# ='張三'

因此使用$就會報錯,若要使用$的話,需要修改為'$name$';

2、兩者的實現方式不同

2.1)$ 作用相等于是字符串拼接,

select * from users where name= $name$

等效于

StringBuffer sb = newStringBuffer(256);
sb.append("select * from users where name=").append(name);
sb.toString();

2.2)# 作用相當于變量替換

select * from users where name = #name#

等效于

prepareStement=stmt.createPrepareStement("select * from users where name = ?")
prepareStement.setString(1,'張三');//自動進行java類型和jdbc類型轉換

3、#和$使用場景不同

3.1)變量的傳遞,必須使用#。可以防止sql注入,#是用prepareStement,提示效率

#方式一般用于傳入添加/修改的值或查詢/刪除的where條件

3.2)$只是簡單的字符拼接而已,對于非變量部分,那只能使用$,實際上,在很多場合,$也是有很多實際意義的

$方式一般用于傳入數據庫對象(如傳入表名)

例如:

  • select * from $tableName$ 對于不同的表執行統一的查詢
  • update $tableName$ set name = #name# 每個實體一張表,改變不用實體的狀態

特別說明,$只是字符串拼接,所以要特別小心sql注入問題。

3.3)能同時使用#和$的時候,最好用#

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.cnblogs.com/jiarui-zjb/p/9537470.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 本土自拍 | 成人看片免费无限观看视频 | leslessexvideos日本 | 国模丰满美女冰漪34d | 免费午夜影片在线观看影院 | 国产精品久久久精品日日 | 欧美人妖大啪啪 | 日韩精选在线 | 乌克兰17一18处交 | a色在线 | 久久国产精品无码视欧美 | 亚洲精品国产一区二区在线 | 国产农村一级特黄α真人毛片 | 青青自拍视频 | 久久久黄色片 | 国产一区二区三区免费在线视频 | 亚洲国产精品嫩草影院永久 | 日本在线精品视频 | 国产人成精品午夜在线观看 | 日韩在线观看免费 | 视频一区二区国产无限在线观看 | 齐天大性之七仙女欲春迅雷链接 | 5555国产在线观看精品 | 国产精品热久久毛片 | 忘忧草在线社区WWW日本直播 | 俺去啦最新 | 日本无卡无吗中文免费 | 久久久久青草大香线综合精品 | 人人艹在线视频 | 欧洲久久| 亚洲国产精品一区二区首页 | 王雨纯羞羞 | 国产欧美久久一区二区 | 日本69av| aaaa大片| 欧美日韩精品在线观看 | 青青草在视线频久久 | 四虎影院在线免费 | 国产精品免费久久久久影院 | 国产90后美女露脸在线观看 | 精品免费久久久久久成人影院 |