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