Java 从postgresql中的锁定表访问数据

Java 从postgresql中的锁定表访问数据,java,postgresql,spring-mvc,Java,Postgresql,Spring Mvc,我有一个master\u tbl。我试图通过web服务从master\u tbl读取数据,并将其显示在仪表板上。其他web服务正在不断地将数据插入master\u tbl 现在,当我从数据库中以1秒的时间连续读取数据时。它显示正确的值,一段时间后显示空值。它交替发生 按id DESC limit 1从主表订单中选择楼层编号 web服务中的此查询返回输入到master\u表中的最后一行 你能告诉我这是由于数据库锁定或其他原因吗。。? 因为关键是如果我执行上面的查询,并且在master\u tbl中

我有一个
master\u tbl
。我试图通过web服务从
master\u tbl
读取数据,并将其显示在仪表板上。其他web服务正在不断地将数据插入
master\u tbl

现在,当我从数据库中以1秒的时间连续读取数据时。它显示正确的值,一段时间后显示空值。它交替发生

按id DESC limit 1从主表订单中选择楼层编号

web服务中的此查询返回输入到
master\u表中的最后一行

你能告诉我这是由于数据库锁定或其他原因吗。。? 因为关键是如果我执行上面的查询,并且在
master\u tbl
中没有添加任何条目,那么它应该返回在表中创建的上一个条目,但不能为null

下面是用于调用和从web服务获取数据的spring控制器代码

@RequestMapping(value="/getfloorNo", method=RequestMethod.POST)
public @ResponseBody String getfloorNo() throws IOException, NullPointerException{      
RestTemplate restTemplate = new RestTemplate();
String url = "http://localhost:8080/master_tbl/floorNo/lastdata/";          
String lastdata = restTemplate.getForObject(url, String.class);
System.out.println("floorNo: "+lastdata);  //It altenatively shows proper & null value.
return users;
}
这是我的json响应

floorNo:[{"floorNo":"01","datetime":"2017-04-05 12:33:26.266"}] 
floorNo:[{"floorNo":"01","datetime":"2017-04-05 12:33:26.266"}]
floorNo:[{"floorNo":"01","datetime":"2017-04-05 12:33:26.266"}]
floorNo: null
floorNo: null
floorNo: null

从您的描述中,我了解到行是并发插入的,有时为null,有时为

SELECT floor_no FROM master_table order by id DESC limit 1;
此外:

如果未将任何条目添加到master_tbl中,则应返回上一个条目 在表中输入,但不为空

这让我想到您想要最后一个非空值,那么您应该:

SELECT floor_no FROM master_table WHERE floor_no is not null order by id DESC limit 1;

你能把这个分解成一个简单的例子吗?