我先说明一下定定义, 拉运地:地图中的一个点,包含经度和维度,也是“起点”, 运往地:地图中的一个点,包含经度和维度,也是“终点”。 起始偏差范围:以起点或终点为圆心的半径,是一个数值。 终止偏差范围:以起点或终点为圆心的半径,是一个数值。 匹配偏差范围:从“起始偏差范围”画出的圆开始,到“终止偏差范围”之间的总区域。 偏差范围:是一个集合,它包含“起始偏差范围”和“终止偏差范围“ 我的数据库里存放着很多拉运地和运往地的坐标点。 现在,我想要一个java语言编写的代码,我可以传入拉运地的“偏差范围”和运往地的“偏差范围”,然后从数据库中给我返回符合条件的坐标信息。 注意: 1. 我用的持久化框架是mybaties-plus。 2. 我要的代码类型为工具类。 3. 要求有良好的注释
时间: 2023-04-01 08:01:37 浏览: 90
垃圾场土方拉运情况说明.docx
好的,根据您的要求,我可以为您提供一个Java语言编写的工具类,用于从数据库中获取符合条件的坐标信息。以下是代码:
```
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
@Component
public class CoordinateUtil extends ServiceImpl<BaseMapper<Coordinate>, Coordinate> {
@Autowired
private BaseMapper<Coordinate> mapper;
/**
* 根据起点和终点的偏差范围,从数据库中获取符合条件的坐标信息
*
* @param startDeviation 起点的偏差范围
* @param endDeviation 终点的偏差范围
* @return 符合条件的坐标信息列表
*/
public List<Coordinate> getCoordinatesByDeviation(double startDeviation, double endDeviation) {
// 计算匹配偏差范围
double matchDeviation = (startDeviation + endDeviation) / 2;
// 构造查询条件
QueryWrapper<Coordinate> wrapper = new QueryWrapper<>();
wrapper.between("start_deviation", startDeviation, matchDeviation)
.between("end_deviation", endDeviation, matchDeviation);
// 从数据库中查询符合条件的坐标信息
return mapper.selectList(wrapper);
}
}
```
这个工具类使用了Mybatis-Plus持久化框架,继承了ServiceImpl类,可以方便地进行数据库操作。在getCoordinatesByDeviation方法中,根据传入的起点和终点的偏差范围,计算出匹配偏差范围,然后构造查询条件,从数据库中查询符合条件的坐标信息,并返回结果列表。
希望这个工具类能够满足您的需求。如果您有任何问题或建议,请随时告诉我。
阅读全文