在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  網(wǎng)絡(luò)安全/ CrudRepository建查詢,And和Between得不到正確的結(jié)果

CrudRepository建查詢,And和Between得不到正確的結(jié)果

做一個(gè)應(yīng)用查數(shù)據(jù)庫,用了spring-boot的CrudRepository,想查詢一個(gè)時(shí)間段里的數(shù)據(jù)

查詢一個(gè)時(shí)間之后,方法返回的結(jié)果正常
List<T> findByTimestampAfter(@Param("timestamp") Date start)

查詢一個(gè)時(shí)間之前,方法返回的結(jié)果也正常
List<T> findByTimestampBefore(@Param("timestamp") Date end)

但是我試了下面三種方法都不行:

List<T> findByTimestampBetween(@Param("timestamp") Date start,@Param("timestamp") Date end)

List<T> findByTimestampAfterAndTimestampBefore(@Param("timestamp") Date start,@Param("timestamp") Date end)

List<T> findByTimestampGreaterThanEqualAndTimestampLessThanEqual(@Param("timestamp") Date start,@Param("timestamp") Date end)

返回的結(jié)果是timestamp正好等于end的一條數(shù)據(jù),而中間應(yīng)該有100多條數(shù)據(jù)

反復(fù)看文檔,還是認(rèn)為代碼沒寫錯(cuò)

在數(shù)據(jù)庫直接select * from exchange where timestamp > "2018-01-02 17:30:00" AND timestamp < "2018-01-02 17:48:00"; 結(jié)果也是正確的

真是奇怪了。。。

回答
編輯回答
吢丕

原來兩個(gè)參數(shù)不能寫一個(gè)名字
@Param("timestamp") Date start,@Param("timestamp") Date end
改為
@Param("start") Date start,@Param("end") Date end
就可以了

2017年8月1日 23:39