找不到new SqlSelect()
时间: 2023-10-22 22:03:24 浏览: 129
抱歉,我之前提到的 `SqlSelect` 是一个错误的引用,实际上 MyBatis Plus 并没有提供这样的类。在 MyBatis Plus 中,可以通过添加条件构造器 `Wrapper` 实现复杂的查询条件。
以下是修正后的代码示例:
```java
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class NotificationService {
@Autowired
private NotificationMapper notificationMapper;
public List<Notification> getNotificationsByStudentSno(String studentSno) {
QueryWrapper<Notification> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("student_notification.student_sno", studentSno)
.eq("student_notification.is_show", 0)
.inSql("notification.id", "SELECT notification_id FROM student_notification")
.eqProperty("notification.id", "notification.id");
return notificationMapper.selectList(queryWrapper);
}
}
```
上述代码中,我们使用 `QueryWrapper` 构建查询条件。通过 `eq()` 方法指定等于的条件,通过 `inSql()` 方法指定子查询语句,通过 `eqProperty()` 方法指定字段之间的关联条件。
请注意,`inSql()` 方法用于构建类似 `IN (子查询)` 的查询条件,并将子查询语句作为参数传入。`eqProperty()` 方法用于构建字段之间的关联条件,将字段名作为第一个参数传入,将关联字段名作为第二个参数传入。
希望这次能够帮到你!如果还有其他问题,请随时提问。
阅读全文