1、#{}是预编译处理,MyBatis在处理#{ }时,它会将sql中的#{ }替换为?,相当于是个占位符。然后调用PreparedStatement的set方法来赋值,传入字符串后,会在值两边加上单引号,如上面的值 “4,44,514”就会变成“ ‘4,44,514’ ”;
2、${ }是字符串替换,在处理是字符串替换,MyBatis在处理时,它会将sql中的{ }替换为变量的值,传入的数据不会加两边加上单引号。
1、#{}是预编译处理,MyBatis在处理#{ }时,它会将sql中的#{ }替换为?,相当于是个占位符。然后调用PreparedStatement的set方法来赋值,传入字符串后,会在值两边加上单引号,如上面的值 “4,44,514”就会变成“ ‘4,44,514’ ”;
2、${ }是字符串替换,在处理是字符串替换,MyBatis在处理时,它会将sql中的{ }替换为变量的值,传入的数据不会加两边加上单引号。