ibatis ibatis 中 與 的區別

2021-07-11 00:10:20 字數 975 閱讀 2583

ibatis 中 $與#的區別

我們在使用ibatis時會經常用到#和$這兩個符號。

一 .#與$區別說通俗一點就是

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

#會根據變數的型別來進行替換

比如articletitle的型別是string, 值是"標題"的時候

$articletitle$ = 標題

#articletitle# = '標題'

二. $ 的作用實際上是字串拼接,

select * from  $tablename$

等效於stringbuffer sb = new stringbuffer(256);

sb.tostring();

#用於變數替換

select * from table where id = #id#

等效於preparestement =stmt.createpreparestement("select * from table where id = ?")

preparestement.setstring(1,'abc');

三.那什麼時候用$,什麼時候 用 #

(1)對於變數部分, 應當使用#, 這樣可以有效的防止sql注入,具體執行時,# 都是用到了preparestement,這樣對效率也有一定的提公升

#方式一般用於傳入插入/更新的值或查詢/刪除的where條件

(2) $只是簡單的字元拼接而已,對於非變數部分, 那只能使用$, 實際上, 在很多場合,$也是有很多實際意義的

$方式一般用於傳入資料庫物件.例如傳入表名.

例如:select  *  from  $tablename$  對於不同的表執行統一的查詢

update  $tablename$  set  name = #name#  每個實體一張表,改變不用實體的狀態

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

(3)能同時用#和$的時候最好用#

PHP中 與and 與or的區別

在php中,與and都表示邏輯與,與or都表示邏輯或,並且它們都是短路運算子。而它們的區別在於運算的優先順序不同。t1 true and false t2 true false var dump t1,t2 在上面的 中 t1的值為true,t2的值為false。因為運算子and 的優先順序為 an...

SqlMap中中 與 的區別

在ibatis中我們使用sqlmap進行sql查詢時需要引用引數,在引數引用中遇到的符號 和 之間的區分為,可以進行與編譯,進行型別匹配,而 不進行資料型別匹配,例如 select from table where id id 其中如果欄位id為字元型,那麼 id 表示的就是 id 型別,如果id為...

python中 python中的 與

這一部分首先要理解python記憶體機制,python中萬物皆物件。對於不可變物件,改變了原來的值,其別名 變數名 繫結到了新值上面,id肯定會改變 對於可變物件,操作改變了值,id肯定會變,而 是本地操作,其值原地修改 對於 號操作,可變物件和不可變物件呼叫的都是 add 操作 對於 號操作,可變...