Mybatis中#与$的区别

Mybatis中#与$的区别

Mybatis中SQL语句中传值存在两种方式#{},${}

二者都可以做到参数传递 但是存在着很大的区别

1.以#的方式传参数 底层使用的是jdbc中的prepareStatement 使用的是以‘?’ 为占位符的SQL语句

insert into student (id,name) values (?,?)

这样做可以提高运行的效率

2.#方式可以避免SQL注入的问题

3.$不使用占位符 使用的是字符串拼接 底层使用的jdbc中学到的statement执行SQL语句 效率低

4.$存在SQL注入问题

5.$可以替换列名或者表名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值