Mybatis 與 的區別與用法

2021-10-02 04:02:41 字數 1227 閱讀 5618

區別:

#{}這種傳參,自帶』』,沒有sql注入的風險,而${}傳入的時候不帶』』,有sql注入額風險

${}的用法:

多用於模糊查詢,或者特定的 需要傳入sql片段的時候,例如:

<

!-- 模糊查詢 --

>

"selectuserbyname" parametertype=

"string" resulttype=

"user"

>

select *

from

user where name like concat

('%'

,'$'

,'%'

)<

/select>

// 存在sql攻擊,需要自行轉譯

@select

("select * from user where $ = #"

) user findbycolumn

(@param

("column"

)string column, @param

("value"

)string value )

;

#{}的用法:

前台傳遞引數大部分都用這種方式,例:

"updateuser" parametertype=

"com.jym.bean.user"

>

update user

set email = #

, hope_job = #

, name = #

, personal_evaluation = #

, personal_skills = #

, phone_number = #

where id = #

<

/update>

<

delete id=

"deleteuser" parametertype=

"com.jym.bean.user"

>

delete

from user where id = #

<

/delete

>

世界上有10種人,一種是懂二進位制的,一種是不懂二進位制的。

Mybatis中的 和 區別與用法

我們經常使用的是 一般解說是因為這種方式可以防止sql注入,簡單的說 這種方式sql語句是經過預編譯的,它是把 中間的引數轉義成字串,舉個例子 select from student where student name 預編譯後,會動態解析成乙個引數標記符?select from student ...

mybatis 與 的區別

public int updatebyid param id int id param name string babyage 注意 此時傳遞的兩個引數的型別不一致 一開始我的xml是這樣寫的 update tf user set baby age where id update tf user s...

Mybatis 與 的區別

select from user where id select from user where id user 123456789 解析後的結果會自動帶上引號。同時在某些情況下,就不能使用 比如 order by,之後只能跟 select from user where id select fro...