开发者社区> 问答> 正文

我想问,#{}和${}的区别是什么呢?我不知道,求解答

不知道区别。

展开
收起
杜少平123-24791 2021-10-14 18:44:14 318 0
1 条回答
写回答
取消 提交回答
  • ${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静态替换为com.mysql.jdbc.Driver。

    #{}是sql的参数占位符,Mybatis会将sql中的#{}替换为?号,在sql执行前会使用PreparedStatement的参数设置方法,按序给sql的?号占位符设置参数值,比如ps.setInt(0, parameterValue),#{item.name}的取值方式为使用反射从参数对象中获取item对象的name属性值,相当于param.getItem().getName()。

    2021-10-14 18:45:36
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
JAVA反射原理以及一些常见的应用 立即下载
继承与功能组合 立即下载
低代码开发师(初级)实战教程 立即下载

相关实验场景

更多