SQL中LIKE '%' 与 PreparedStatement的占位符 ? 使用方法

LIKE name='%xxx%'是SQL提供的一种模糊查询方式,用%号代替任意字符。

PreparedStatement是Java提供的一种包含预处理的数据库连接查询方式,这种方式很方便,可以通过如下代码做查询:

PreparedStatement pstm = connection.prepareStatement("SELECT * FROM t1 WHERE name=?");
问号就是占位符,接下来只要通过注入方式在?的位置注入想要注入的就行,可以是字符串,也可以是int类型。

注入代码:

pstm.setString(1, "abc");


这样是不是很方便,免去了 如果name是变量时 的字符串拼接。

但是当模糊查询与预处理注入方式结合时,正确的使用方式是这样的。

只需要更改注入的东西就可以,第一句生成PreparedStatement对象时的SQL语句不用改,不用在SQL语句里写%。

pstm.setString(1, "%abc%");


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值