我需要搜索包含用户信息表的数据库。我知道通过搜索查询得到结果,如下面的
String query;
StringBuilder sb=new StringBuilder(1024);
sb.append("select * from userinfo where uname=").append(key);
query=sb.toString();
但我需要做的是。
abc
abc
abc
,aba
,gjabc
,abcxyz
,hjjabcxyz
abc
,gjabc
,abcxyz
,hjjabcxyz
abc
的共同点。我怎样才能做到这一点?
答案 0 :(得分:7)
如果您使用的是纯SQL,则应使用“%”包围。然后,您的查询将返回uname包含“abc”的所有行。您的查询需要如下所示:
select * from userinfo where uname like '%key%'
答案 1 :(得分:2)
正确的实施将使用PreparedStatement。
PreparedStatement ps = conn.prepareStatement("select * from userinfo where uname like ?");
ps.setString(1, key);
ResultSet rs = ps.executeQuery();
当然这会错过所有错误检查和管道代码:)