MyBatis的${ }与#{ }有区别

1、#{  }是预编译处理,MyBatis在处理#{  }时,它会将sql中的#{  }替换为?,然后调用PreparedStatement的set方法来赋值,传入字符串后,会在值两边加上单引号;
2、${  }是字符串替换, MyBatis在处理${  }时,它会将sql中的${  }替换为变量的值,传入的数据不会加两边加上单引号。
注意:使用${  }会导致sql注入,不利于系统的安全性!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章