在平常的sql语句编写的过程中肯定会用到占位符来进行数据的传递的,在xml中,我们可以使用“#{}”,或者“${}”来进行占位符操作,这些大家应该都是知道的,而使用#{}是可以防止sql注入的,在编译的时候,#{}会被转换为?,而${}是直接将数据替换,所以#{}是比较安全的
但是在最近工作中,我用到hibernate的dao层时,发现,还有一种写法是写在拼接sql语句当中的,“=:param”这个方法同样也是占位符操作,并且也可以防止sql注入,但是这个只能用在hibernate的sql语句中,而在最新的项目中一般不会用到这个方法,所以就当了解了解就行了,不需要特别注意