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

来源:互联网 发布:电脑防蓝光软件 编辑:程序博客网 时间:2024/05/16 19:07

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%");


0 0
原创粉丝点击