MyBatis--#与$的区别

原文网址:MyBatis--#与$的区别_IT利刃出鞘的博客-CSDN博客

简介

本文介绍MyBatis中#与$的区别。

区别概述

#{xxx}

${xxx)

编译器行为

在预编译期,生成?,作为占位符

在预编译期,会直接显示拼接的字符

拼接行为

如果字段是字符串类型,拼接时会在字符串两侧添加单引号无论是什么类型,拼接时不会在两侧添加单引号

使用场景

因为会加双引号,所以一般用于字段的值。

需要动态参数的时候。

例如:传入数据库对象(例如:表名、列名);

ORDER BY;

情况一:只用  #{}

  <select id="getUserByNameAndPsw" resultType="com.hotel3.model.User">
        select * from USER where userName=#{userName} and userPassword =#{userPassword};
  </select>

结果:

 ==>  Preparing: select * from USER where userName=? and userPassword =?; 
 ==>  Parameters: mww(String), 123(String)
 <==  Total: 1

结论:

#{}会在预编译期,生成两个  ?,作为占位符。 

上边只是部分内容,为便于维护,本文已迁移到此地址:MyBatis-#与$的区别 - 自学精灵

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT利刃出鞘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值