MyBatis——小知识:MyBatis_映射配置文件_参数值获取

#{}:可以获取map中的值或者pojo对象属性的值;
${}:可以获取map中的值或者pojo对象属性的值;

 select * from employee where id=${id} and last_name=#{lastName}

select * from ${tableName} where id=${id} and lastName=#{lastName}

Preparing: select * from employee where id=1 and last_name=?
Preparing: select * from employee where id=1 and lastName=?
上述两行都从控制台取出

区别:
#{}:是以预编译的形式,将参数设置到sql语句中;PreparedStatement;防止sql注入
${}:取出的值直接拼装在sql语句中;会有安全问题;
大多情况下,我们去参数的值都应该去使用#{};

	原生jdbc不支持占位符的地方我们就可以使用${}进行取值
	比如分表、排序。。。;按照年份分表拆分
		select * from ${year}_salary where xxx;
		select * from tbl_employee order by ${f_name} ${order}
发布了152 篇原创文章 · 获赞 73 · 访问量 3264

猜你喜欢

转载自blog.csdn.net/qq_44891295/article/details/103811421