Java 实现一个搜索框对多个字段进行模糊查询
时间: 2023-07-20 17:03:47 浏览: 140
假设有一个实体类 `User`,其中有多个字段需要进行模糊查询,可以使用 SQL 的 `LIKE` 关键字进行查询。以下是一个示例代码:
```java
public List<User> searchUsers(String keyword) {
String sql = "SELECT * FROM users WHERE name LIKE ? OR email LIKE ?";
keyword = "%" + keyword + "%"; // 将关键字转换为模糊查询的格式
try (Connection conn = DriverManager.getConnection(url, username, password);
PreparedStatement stmt = conn.prepareStatement(sql)) {
stmt.setString(1, keyword);
stmt.setString(2, keyword);
ResultSet rs = stmt.executeQuery();
List<User> users = new ArrayList<>();
while (rs.next()) {
User user = new User();
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setEmail(rs.getString("email"));
// 设置其他字段
users.add(user);
}
return users;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
```
在上述代码中,`LIKE` 关键字可以匹配指定字段中包含关键字的记录。通过在关键字前后添加 `%`,将其转换为模糊查询的格式。在 SQL 语句中使用 `OR` 连接多个字段,可以实现对多个字段进行模糊查询。最后将查询结果封装为 `User` 对象并返回。
阅读全文