Mybatis中sql排序以及#和$的区别(二)
mybatis的orderby
在使用mybatis的时候,一般来讲是使用#{}
这种方式来设置sql的参数,因为mybatis在解析sql的时候的时候对于使用#{}
的参数首先会解析成?
,然后再加入参数。具体可以看mybatis的解析日志:
1 | DEBUG [main] - ==> Preparing: select * from clazzentity where clazz_name = ? |
但是在mybatis中如果需要使用groupby和orderby的话就需要注意不可以使用#
了,因为使用#
的话会导致解析出来的参数自动的带了一个引号,而使用$
的话就会直接把参数带进去,所以在进行groupby的时候是需要使用$
来进行参数的替换的。但是在使用${}这个的时候需要注意下。