mybatis中${}和#{}的区别_chenjie的博客
2020-08-12 15:52
507 查看
mybatis中${}和#{}的区别
#{}的说明:
假如现在有如下sql语句:
select id,username from t_user where age = #{age}
首先这条sql语句中的#{}会被mybatis解析成?,也就是成了这样
select id,username from t_user where age = ?
再通过preparedstatement给占位符设置参数为22的话,那个sql语句就变成
select id,username from t_user where age = '22'
使用#{}能有效避免sql注入
${}的说明:
假如现在有如下sql语句:
select id,username from t_user order by ${age}
这条sql中的${age}不会被解析成?,也不会被preparedstatement给设置参数。如果你的参数是age,那么这条sql语句就被拼接变成了:
select id,username from t_user order by age
如何选用:
#{}:当传入的参数时同数据库进行交互的时候,使用#{}.
${}:当插入的参数时作为SQL执行的一部分的时候必须使用它
简单的判断:传入的参数在SQL中是否能够加上单引号。可以加单引号使用#{};不能加单引号使用${}。
相关文章推荐
- 关于 Web开发中的请求重定向和内部转发的区别 (声明:文章有 截取其他博客的内容)
- Hibernate和iBatis、myBatis的区别
- mybatis和hibernate区别
- hibernate和mybatis区别?
- mybatis 中#与$的区别
- Hibernate和MyBatis(ibatis)的区别
- MyBatis学习总结_13_Mybatis查询之resultMap和resultType区别
- mybatis中的#{}和${}区别
- mybatis 和 hibernate 的区别
- 【Maven+SSM】Mybatis区别于mysql的其他标签
- mybatis中的#和$的区别
- mybatis中#和$符号的区别
- mybatis和hibernate本质区别
- 写个博客记住Mybatis
- mybatis 中#与$的区别
- 总结ibatis与mybatis区别
- ibatis 到 MyBatis区别
- 《深入理解mybatis原理(十二)》 mybatis深入理解之#与$区别
- 浅谈mybatis中的#和$的区别
- Hibernate与MyBatis区别