Mybatis中的 號與 符號的區別

2022-09-21 03:42:06 字數 595 閱讀 8240

1、#可以進行預編譯、型別匹配等操作,#會轉化為jdbc的型別。

select * from tablename where id = #

假設id的值為12,其中如果資料庫欄位id為字元型,那麼#表示的就是』12』,如果id為整型,那麼id就是12,並且mybatis會將上面sql語句轉化為jdbc的select * from tablename where id=?,把?引數設定為id的值。

2、$不進行資料型別匹配,直接替換。

select * from tablename where id = $

如果欄位id為整型,sql語句就不會出錯,但是如果欄位id為字元型, 那麼sql語句應該寫

成select * from table where id = 『$』。

3、#方式能夠很大程度防止sql注入。

4、$方式無法方式sql注入。

5、$方式一般用於傳入資料庫物件,例如傳入表名。

6、盡量多用#方式,少用$方式。

MyBatis中 號與美元符號的區別

可以進行預編譯 型別匹配等操作,會轉化為jdbc的型別。select from tablename where id 假設id的值為12,其中如果資料庫欄位id為字元型,那麼 表示的就是 12 如果id為整型,那麼id就是12,並且mybatis會將上面sql語句轉化為jdbc的select fro...

MyBatis中 號與美元符號的區別

可以進行預編譯 型別匹配等操作,會轉化為jdbc的型別。select from tablename where id 假設id的值為12,其中如果資料庫欄位id為字元型,那麼 表示的就是 12 如果id為整型,那麼id就是12,並且mybatis會將上面sql語句轉化為jdbc的select fro...

mybatis中sql中的特殊符號

1.prefix 在trim標籤內sql語句加上字首。suffix 在trim標籤內sql語句加上字尾。suffixoverrides 指定去除多餘的字尾內容,如 suffixoverrides 去除trim標籤內sql語句多餘的字尾 prefixoverrides 指定去除多餘的字首內容 2.下面...