模糊查询的语句java
时间: 2024-09-26 12:11:52 浏览: 25
在Java中,我们可以使用`PreparedStatement`和`LIKE`关键字来进行模糊查询。这里是一个基本的例子,假设我们有一个名为`User`的对象,它有一个`name`属性,我们想通过名字的部分字符串进行搜索:
```java
import java.sql.Connection;
import java.sql.PreparedStatement;
public List<User> fuzzySearch(String pattern) {
String sql = "SELECT * FROM User WHERE name LIKE ?";
try (Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/your_database", "username", "password");
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setString(1, "%" + pattern + "%"); // 使用百分号作为通配符,代表任意字符
ResultSet rs = pstmt.executeQuery();
List<User> result = new ArrayList<>();
while (rs.next()) {
User user = new User(rs.getInt("id"), rs.getString("name"));
result.add(user);
}
return result;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
```
在这个例子中,`"%pattern%"`将会匹配任何包含`pattern`字符串的用户名。
阅读全文