在之前我对mybatis中的#与$的理解,就是#能够防止sql注入,而$是可能会产生sql注入的问题。也就是说#传入参数的时候会给我们的参数加上引号,当参数传入。
但是由此的面试中 有面试官问我他们的区别的时候我说了防sql注入,但是不全面。所以我请教了他。还有关于预编译的情况,对于#,虽然能够防止sql注入,但是它只是预编译,然后才会把数据插入sql语句中,所以在安全要求不高、要求速度的情况下,$的效率要高于#。
在之前我对mybatis中的#与$的理解,就是#能够防止sql注入,而$是可能会产生sql注入的问题。也就是说#传入参数的时候会给我们的参数加上引号,当参数传入。
但是由此的面试中 有面试官问我他们的区别的时候我说了防sql注入,但是不全面。所以我请教了他。还有关于预编译的情况,对于#,虽然能够防止sql注入,但是它只是预编译,然后才会把数据插入sql语句中,所以在安全要求不高、要求速度的情况下,$的效率要高于#。