springdatasourceprimaryjdbc-url=jdbcpostgresql19216801865432postgis_szjguseUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=AsiaShanghaispringdatasourceprimarydriver-class-na
根据报错信息,ORA-00933错误表示SQL命令未正确结束。这可能是由于Oracle数据库不支持LIMIT关键字导致的。
在Oracle中,分页查询需要使用ROWNUM进行处理。你可以尝试使用JPA的标准分页查询方法来解决这个问题。例如,在你的Repository接口中使用Pageable参数来定义分页查询方法,如下所示:
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface TrafficAdverseWeatherRepository extends JpaRepository<TrafficAdverseWeather, Long> {
Page<TrafficAdverseWeather> findByJcsjBetweenOrderByJcsjDesc(Date startDate, Date endDate, Pageable pageable);
}
然后,在你的Service或Controller中使用Pageable对象来获取分页数据,如下所示:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Service;
@Service
public class TrafficAdverseWeatherService {
@Autowired
private TrafficAdverseWeatherRepository repository;
public Page<TrafficAdverseWeather> getWeatherData(Date startDate, Date endDate, int page, int pageSize) {
PageRequest pageRequest = PageRequest.of(page, pageSize);
return repository.findByJcsjBetweenOrderByJcsjDesc(startDate, endDate, pageRequest);
}
}
这样,你就可以通过调用getWeatherData方法来获取分页查询结果了。
另外,你可能需要确保你的实体类和数据库表之间的映射是正确的,以及日期格式的处理是正确的。如果仍然遇到问题,请提供更多的错误信息和相关代码,以便我能够更好地帮助你解决问题
原文地址: https://www.cveoy.top/t/topic/irGo 著作权归作者所有。请勿转载和采集!