Java 按部件发送带有Spring Boot的电子邮件(带分页)?

Java 按部件发送带有Spring Boot的电子邮件(带分页)?,java,spring,spring-boot,Java,Spring,Spring Boot,我想通过电子邮件从数据库发送有关用户的信息 @Repository public interface UserRepository extends JpaRepository<User, Long> { @Query(value = "SELECT user from User user where user.reportDate >= :ago order by user.reportDate desc") List<User>

我想通过电子邮件从数据库发送有关用户的信息

@Repository
public interface UserRepository extends JpaRepository<User, Long> {
    @Query(value = "SELECT user from User user where user.reportDate >= :ago order by user.reportDate desc")
    List<User> findAllWithDateAfter(@Param("ago") LocalDate ago);
}
服务:

@Service
public class UserService {
    @Autowired
    private UserRepository userRepository;

    public List<User> getUsersForRequiredDays(int days) {
        LocalDate daysAgoDate = LocalDate.now().minusDays(days);
        return badUtmMarksRepository.findAllWithDateAfter(daysAgoDate);
    }
}
方法从senderService发送(在上面的try块中):

public void send()抛出MessagineException、IOException、TemplateException{
MimeMessage MimeMessage=mailssender.createMimeMessage();
List users=userService.getUsersForRequiredDays(interval);//我在这里使用数据库中的信息
设置mimessagesettings(mimessage、subject、emailTo、reportable、from);
mailssender.send(mimeMessage);
}

您的
回购
方法应为:

List findAllWithDateAfter(Pageable Pageable,@Param(“ago”)LocalDate ago)

调用该方法时,应执行以下操作:

@Autowired
UserRepository userRepository; 
...
int size;
int index;

*** fill the size and index variables ***
PageRequest pageRequest = PageRequest.of(index, size);

userRepository.findAllWithDateAfter(pageRequest, your-other-parameter);

使用“Spring数据分页”的谷歌搜索也会对你有所帮助。签出本指南这是否回答了您的问题?
public class ScheduledMailSenderService {

    private final MailSenderService mailSender;

    @Scheduled(cron = "${schedule.cron.update}")
    public void send() {
        log.info("Scheduled sending started");
        try {
            mailSender.send();
        } catch (MessagingException | IOException | TemplateException e) {
            log.error("Error occurred while sending email message:: {}", e.toString());
        }
        log.info("Scheduled sending finished");
    }

}
public void send() throws MessagingException, IOException, TemplateException {
        MimeMessage mimeMessage = mailSender.createMimeMessage();
        List<User> users = userService.getUsersForRequiredDays(interval); //im using info from db here
        setMimeMessageSettings(mimeMessage, subject, emailTo, reportTable, from);
        mailSender.send(mimeMessage);
    }
@Autowired
UserRepository userRepository; 
...
int size;
int index;

*** fill the size and index variables ***
PageRequest pageRequest = PageRequest.of(index, size);

userRepository.findAllWithDateAfter(pageRequest, your-other-parameter);