#{}和${}的区别是什么

${}是Properties文件中的变量占位符,它能够用于标签属性值和sql内部,属于静态文本替换,好比${driver}会被静态替换为com.mysql.jdbc.Driver。#{}是sql的参数占位符,Mybatis会将sql中的#{}替换为?号,在sql执行前会使用PreparedStatement的参数设置方法,按序给sql的?号占位符设置参数值,好比ps.setInt(0, parameterValue),#{item.name}的取值方式为使用反射从参数对象中获取item对象的name属性值,至关于param.getItem().getName()。mysql

相关文章
相关标签/搜索