springboot case when then
时间: 2024-05-27 11:06:51 浏览: 102
SQL集合函数中case when then 使用技巧
5星 · 资源好评率100%
Spring Boot中的case when then是指在SQL语句中通过case when then的方式实现条件判断。该语句可以用于根据不同的条件对查询结果进行分类或分组,从而更灵活地查询数据。在Spring Boot中,我们可以通过使用JPA或MyBatis等ORM框架来实现该功能。
例如,下面是一个使用JPA的示例:
```java
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
@Query("SELECT u FROM User u WHERE " +
"CASE WHEN :username IS NOT NULL THEN u.username = :username ELSE 1=1 END " +
"AND " +
"CASE WHEN :email IS NOT NULL THEN u.email = :email ELSE 1=1 END"
)
List<User> findByUsernameOrEmail(@Param("username") String username,
@Param("email") String email);
}
```
在上面的例子中,我们定义了一个名为`findByUsernameOrEmail`的方法。该方法接收两个参数,分别为`username`和`email`。在查询时,我们使用了case when then的语法,当`username`或`email`中有一个不为空时,就会执行相应的查询条件。
阅读全文