在mybatis的mapper文件中,对于传递的参数我们一般是使用#和$来获取参数值。
当使用#时变量是占位符,就是一般我们使用java jdbc的PrepareStatement时的占位符?,所有可以防止sql注入
当使用$时,变量就是直接追加在sql中,一般会有sql注入问题。
一个问题就是:在使用mybatis传递时间变量时,如果通过#方式获取变量值,可能会出现与数据库的字段的类型不匹配错误,一般我们只需要获取一个String即可。
在mybatis的mapper文件中,对于传递的参数我们一般是使用#和$来获取参数值。
当使用#时变量是占位符,就是一般我们使用java jdbc的PrepareStatement时的占位符?,所有可以防止sql注入
当使用$时,变量就是直接追加在sql中,一般会有sql注入问题。
一个问题就是:在使用mybatis传递时间变量时,如果通过#方式获取变量值,可能会出现与数据库的字段的类型不匹配错误,一般我们只需要获取一个String即可。