有没有办法我可以在春天将客户端发送的值传递给本地变量以进行sql查询?

问题描述 投票:1回答:1

我目前正在开发一个网络应用程序,它将根据许多不同的标准对社区进行评级,其中一个是来自当地加尔达站(爱尔兰警察局)的统计数据。我将客户端的纬度和经度值传递给Spring中的控制器,我想运行以下SQL查询,以便找到最近的警察局并返回相关统计信息。

Set @lat = x; // Local Variable for a latitude value
Set @lng = y; // Local Variable for a longitude value

SELECT * FROM garda_station
ORDER BY ((garda_station_latitude - @lat)*
         (garda_station_latitude - @lat))+
         ((garda_station_longitude - @lng)*
         (garda_station_longitude - @lng))
ASC LIMIT 1; 

我正在尝试访问的garda_station表的结构如下

+-------------------------+--------------+------+-----+---------+----------------+
| Field                   | Type         | Null | Key | Default | Extra          |
+-------------------------+--------------+------+-----+---------+----------------+
| garda_station_id        | int(11)      | NO   | PRI | NULL    | auto_increment |
| garda_station_latitude  | double       | NO   |     | NULL    |                |
| garda_station_longitude | double       | NO   |     | NULL    |                |
| garda_station_name      | varchar(255) | YES  |     | NULL    |                |
+-------------------------+--------------+------+-----+---------+----------------+

我正在将客户端的纬度和经度值通过AJAX请求传递给Spring项目中的Controller类。

@RequestMapping(value = "/results", method = RequestMethod.POST)
public @ResponseBody
String Submit(@RequestParam("latitude") String latitude,@RequestParam("longitude") String longitude) {
    // I'm printing them for now to ensure they have been sent from the client side
    System.out.println(latitude + "" + longitude);
    return "/";
}

这是我对spring项目的第一次重大尝试,所以如果有任何其他建议我如何进行这个SQL查询,我很乐意加热你的建议。

mysql spring spring-mvc
1个回答
1
投票

最简单的方法是使用JDBCTemplate(请参阅herehere)。但实际上最好定义一个存储过程来计算不确定性并使用该过程(参见herehere

© www.soinside.com 2019 - 2024. All rights reserved.