mybatis中的xml文件里#{}和${}的具体区别

103 阅读1分钟

区别一

#{}:相当于JDBC SQL语句中的占位符? (PreparedStatement);

${}:相当于JDBC SQL语句中的连接符合 + (Statement);

区别二

#{}:进行输入映射的时候,会对参数进行类型解析(如果是String类型,那么SQL语句会自动加上’’);

${}: 进行输入映射的时候,将参数原样输出到SQL语句中;

区别三

#{}:对简单类型(String、Date、8种基本类型的包装类)的输入进行映射时,#{}中参数名称可以任意;

$${}:对简单类型(String、Date、8种基本类型的包装类)的输入进行映射时,${}中参数名称必须是value;

区别四

${} :存在SQL注入问题 ,使用OR 1=1 关键字将查询条件忽略

近期开通了知识星球,会坚持进行创作,愿意一起学习、沉淀、成长的小伙伴们快快加入吧!!!

6ecc0cb4c5276cc8ef473212b7216c2.jpg