springboot在数据库中进行模糊查询
时间: 2023-11-27 09:03:31 浏览: 111
在 Spring Boot 中进行数据库的模糊查询,可以使用 JPA 的 Criteria API 或者自定义 SQL 语句实现。
1. 使用 JPA 的 Criteria API 进行模糊查询
Criteria API 是 JPA 2.0 中提供的一种类型安全的查询方式,可以避免 SQL 注入的问题。在 Criteria API 中,可以使用 like 方法进行模糊查询。
示例代码:
```java
public List<User> findUsersByUsernameLike(String username) {
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<User> cq = cb.createQuery(User.class);
Root<User> root = cq.from(User.class);
cq.where(cb.like(root.get("username"), "%" + username + "%"));
TypedQuery<User> query = entityManager.createQuery(cq);
return query.getResultList();
}
```
2. 使用自定义 SQL 语句进行模糊查询
如果使用自定义 SQL 语句进行模糊查询,可以使用 like 关键字加上通配符 % 实现。
示例代码:
```java
public List<User> findUsersByUsernameLike(String username) {
String sql = "SELECT * FROM user WHERE username LIKE ?";
String param = "%" + username + "%";
return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(User.class), param);
}
```
以上代码中,使用了 Spring Boot 的 JdbcTemplate 来执行 SQL 语句,并使用 BeanPropertyRowMapper 将结果映射到 User 类型的对象中。
阅读全文