java不使用sql做模糊查询,在程序内部做模糊查询,
时间: 2023-08-26 18:08:59 浏览: 94
可以使用Java中的正则表达式来实现模糊查询。下面是一个简单的示例代码:
```java
public static void main(String[] args) {
String[] words = {"apple", "banana", "pear", "peach", "orange"};
String pattern = ".*ea.*"; // 包含 "ea" 的模式
for (String word : words) {
if (word.matches(pattern)) {
System.out.println(word);
}
}
}
```
这段代码会输出包含 "ea" 的单词,即 "pear" 和 "peach"。其中 `matches` 方法用于判断一个字符串是否符合指定的正则表达式模式。在这个例子中,使用了 `.*` 来表示任意字符,所以模式可以匹配包含 "ea" 的任意位置的字符串。你可以根据实际需求修改模式来实现不同类型的模糊查询。
相关问题
java不使用sql做模糊查询,在程序内部做模糊查询,使用sql查询出来一个list集合,在service做模糊查询,把满足条件的数据存储到另一个集合里,返回给前端
在Java中,可以使用字符串的一些方法来实现模糊查询,比如使用contains()方法判断一个字符串是否包含另一个字符串。以下是一个示例代码:
```java
List<String> originalList = new ArrayList<>(); // 原始数据集合
List<String> filteredList = new ArrayList<>(); // 模糊查询后的数据集合
// 假设查询关键字为 "abc"
for (String data : originalList) {
if (data.contains("abc")) {
filteredList.add(data);
}
}
// 返回模糊查询的结果
return filteredList;
```
但是,使用这种方式来实现模糊查询的效率可能不够高,尤其是当数据量较大时。因此,通常还是会使用SQL语句来进行模糊查询。在Java中,可以使用JDBC、MyBatis等库来执行SQL查询,并将查询结果封装成Java对象或集合返回给前端。以下是一个示例代码:
```java
public List<User> fuzzyQueryUsers(String keyword) throws SQLException {
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
List<User> userList = new ArrayList<>();
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb?useSSL=false", "root", "password");
String sql = "SELECT * FROM user WHERE name LIKE ?";
stmt = conn.prepareStatement(sql);
stmt.setString(1, "%" + keyword + "%");
rs = stmt.executeQuery();
while (rs.next()) {
User user = new User();
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setAge(rs.getInt("age"));
userList.add(user);
}
} finally {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
}
return userList;
}
```
在这个示例代码中,使用了JDBC库来连接MySQL数据库,并执行了一个带有参数的模糊查询SQL语句。使用PreparedStatement可以避免SQL注入的问题。最后,将查询结果封装成User对象,并添加到集合中返回给前端。
sql 模糊查询 _ java
在SQL语句中,模糊查询可以使用LIKE关键字来实现。在模糊查询中,我们可以使用通配符"%"来表示任意字符的出现次数,使用"_"来表示单个字符的出现。所以,如果要进行以"java"开头的模糊查询,可以使用"LIKE 'java%'"的语法。\[2\]
另外,关于SQL语句的错误,根据提供的引用内容,无法确定具体的错误。请提供更多的信息或者引用内容以便我能够帮助您找到错误的SQL语句。
#### 引用[.reference_title]
- *1* *2* *3* [java模糊查询sql语句](https://blog.csdn.net/weixin_35628777/article/details/114592950)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文