first commit
This commit is contained in:
commit
e17a99d158
|
@ -0,0 +1,33 @@
|
||||||
|
HELP.md
|
||||||
|
target/
|
||||||
|
!.mvn/wrapper/maven-wrapper.jar
|
||||||
|
!**/src/main/**/target/
|
||||||
|
!**/src/test/**/target/
|
||||||
|
|
||||||
|
### STS ###
|
||||||
|
.apt_generated
|
||||||
|
.classpath
|
||||||
|
.factorypath
|
||||||
|
.project
|
||||||
|
.settings
|
||||||
|
.springBeans
|
||||||
|
.sts4-cache
|
||||||
|
|
||||||
|
### IntelliJ IDEA ###
|
||||||
|
.idea
|
||||||
|
*.iws
|
||||||
|
*.iml
|
||||||
|
*.ipr
|
||||||
|
|
||||||
|
### NetBeans ###
|
||||||
|
/nbproject/private/
|
||||||
|
/nbbuild/
|
||||||
|
/dist/
|
||||||
|
/nbdist/
|
||||||
|
/.nb-gradle/
|
||||||
|
build/
|
||||||
|
!**/src/main/**/build/
|
||||||
|
!**/src/test/**/build/
|
||||||
|
|
||||||
|
### VS Code ###
|
||||||
|
.vscode/
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
# or more contributor license agreements. See the NOTICE file
|
||||||
|
# distributed with this work for additional information
|
||||||
|
# regarding copyright ownership. The ASF licenses this file
|
||||||
|
# to you under the Apache License, Version 2.0 (the
|
||||||
|
# "License"); you may not use this file except in compliance
|
||||||
|
# with the License. You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing,
|
||||||
|
# software distributed under the License is distributed on an
|
||||||
|
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
# KIND, either express or implied. See the License for the
|
||||||
|
# specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
wrapperVersion=3.3.1
|
||||||
|
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.6/apache-maven-3.9.6-bin.zip
|
|
@ -0,0 +1,33 @@
|
||||||
|
HELP.md
|
||||||
|
target/
|
||||||
|
!.mvn/wrapper/maven-wrapper.jar
|
||||||
|
!**/src/main/**/target/
|
||||||
|
!**/src/test/**/target/
|
||||||
|
|
||||||
|
### STS ###
|
||||||
|
.apt_generated
|
||||||
|
.classpath
|
||||||
|
.factorypath
|
||||||
|
.project
|
||||||
|
.settings
|
||||||
|
.springBeans
|
||||||
|
.sts4-cache
|
||||||
|
|
||||||
|
### IntelliJ IDEA ###
|
||||||
|
.idea
|
||||||
|
*.iws
|
||||||
|
*.iml
|
||||||
|
*.ipr
|
||||||
|
|
||||||
|
### NetBeans ###
|
||||||
|
/nbproject/private/
|
||||||
|
/nbbuild/
|
||||||
|
/dist/
|
||||||
|
/nbdist/
|
||||||
|
/.nb-gradle/
|
||||||
|
build/
|
||||||
|
!**/src/main/**/build/
|
||||||
|
!**/src/test/**/build/
|
||||||
|
|
||||||
|
### VS Code ###
|
||||||
|
.vscode/
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>com.hy</groupId>
|
||||||
|
<artifactId>land</artifactId>
|
||||||
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
<artifactId>land-api</artifactId>
|
||||||
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
|
<name>api</name>
|
||||||
|
<description>api</description>
|
||||||
|
<properties>
|
||||||
|
<java.version>17</java.version>
|
||||||
|
</properties>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.hy</groupId>
|
||||||
|
<artifactId>land-common</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.hy</groupId>
|
||||||
|
<artifactId>land-service</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework</groupId>
|
||||||
|
<artifactId>spring-web</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</project>
|
|
@ -0,0 +1,46 @@
|
||||||
|
package com.hy.api;
|
||||||
|
|
||||||
|
import com.hy.apiresponse.ApiResponse;
|
||||||
|
import com.hy.common.FileUploadUtils;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/file")
|
||||||
|
public class FileController {
|
||||||
|
@PostMapping("/uploadfile")
|
||||||
|
public ApiResponse<String> upLoadFile(@RequestParam("file") MultipartFile file) throws IOException {
|
||||||
|
if (FileUploadUtils.upLoadFile(file)){
|
||||||
|
return ApiResponse.success(null,"上传成功");
|
||||||
|
} else {
|
||||||
|
return ApiResponse.error(HttpStatus.BAD_REQUEST.value(), "上传失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@PostMapping("/uploadfiles")
|
||||||
|
public ApiResponse<String> uploadFiles(@RequestParam("files") MultipartFile[] files)throws IOException{
|
||||||
|
List<String> filelist = new ArrayList<>();
|
||||||
|
for (var file:files){
|
||||||
|
if (!FileUploadUtils.upLoadFile(file)){
|
||||||
|
filelist.add(file.getOriginalFilename());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (filelist.isEmpty()){
|
||||||
|
return ApiResponse.success(null,"上传成功");
|
||||||
|
}else {
|
||||||
|
StringBuilder failedFiles = new StringBuilder();
|
||||||
|
for(var name :filelist){
|
||||||
|
failedFiles.append(name);
|
||||||
|
}
|
||||||
|
return ApiResponse.error(HttpStatus.BAD_REQUEST.value(), "上传失败的文件:" + failedFiles.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,83 @@
|
||||||
|
package com.hy.api;
|
||||||
|
|
||||||
|
import com.hy.apiresponse.ApiResponse;
|
||||||
|
import com.hy.common.JsonUtils;
|
||||||
|
import com.hy.dao.entity.GeoData;
|
||||||
|
import com.hy.service.GeoDataService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/geodata")
|
||||||
|
public class GeoDataController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private GeoDataService geoDataService;
|
||||||
|
|
||||||
|
@GetMapping("/{name}")
|
||||||
|
public ApiResponse<GeoData> getGeoDataByName(@PathVariable String name) {
|
||||||
|
GeoData geoData = geoDataService.getGeoDataByName(name);
|
||||||
|
if (geoData != null) {
|
||||||
|
return ApiResponse.success(geoData);
|
||||||
|
} else {
|
||||||
|
return ApiResponse.error(HttpStatus.NOT_FOUND.value(), "GeoData not found");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping
|
||||||
|
public ApiResponse<List<GeoData>> getAllGeoData() {
|
||||||
|
List<GeoData> geoDataList = geoDataService.getAllGeoData();
|
||||||
|
return ApiResponse.success(geoDataList);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping
|
||||||
|
public ApiResponse<Void> insertGeoData(@RequestBody GeoData geoData) {
|
||||||
|
try {
|
||||||
|
geoDataService.insertGeoData(geoData);
|
||||||
|
return ApiResponse.success(null, "GeoData inserted successfully");
|
||||||
|
} catch (Exception e) {
|
||||||
|
return ApiResponse.error(HttpStatus.INTERNAL_SERVER_ERROR.value(), "Failed to insert GeoData");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@PostMapping("/insertbypath")
|
||||||
|
public ApiResponse<Void> insertByPath(@RequestParam String geoPath) {
|
||||||
|
try {
|
||||||
|
var map = JsonUtils.json2Map(geoPath);
|
||||||
|
for (Map.Entry<String, String> entry : map.entrySet()) {
|
||||||
|
GeoData geoData = new GeoData(); // 创建新的 GeoData 实例
|
||||||
|
geoData.setName(entry.getKey());
|
||||||
|
geoData.setGeojson(entry.getValue());
|
||||||
|
geoDataService.insertGeoData(geoData); // 插入到数据库
|
||||||
|
}
|
||||||
|
return ApiResponse.success(null, "Successfully inserted GeoData");
|
||||||
|
} catch (Exception e) {
|
||||||
|
return ApiResponse.error(HttpStatus.INTERNAL_SERVER_ERROR.value(), "Failed to insert GeoData");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@PutMapping
|
||||||
|
public ApiResponse<Void> updateGeoData(@RequestBody GeoData geoData) {
|
||||||
|
try {
|
||||||
|
geoDataService.updateGeoData(geoData);
|
||||||
|
return ApiResponse.success(null, "GeoData updated successfully");
|
||||||
|
} catch (Exception e) {
|
||||||
|
return ApiResponse.error(HttpStatus.INTERNAL_SERVER_ERROR.value(), "Failed to update GeoData");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@DeleteMapping("/{name}")
|
||||||
|
public ApiResponse<Void> deleteGeoData(@PathVariable String name) {
|
||||||
|
try {
|
||||||
|
geoDataService.deleteGeoData(name);
|
||||||
|
return ApiResponse.success(null, "GeoData deleted successfully");
|
||||||
|
} catch (Exception e) {
|
||||||
|
return ApiResponse.error(HttpStatus.INTERNAL_SERVER_ERROR.value(), "Failed to delete GeoData");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,40 @@
|
||||||
|
package com.hy.apiresponse;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
@Setter
|
||||||
|
@Getter
|
||||||
|
public class ApiResponse<T> {
|
||||||
|
private int code;
|
||||||
|
private String message;
|
||||||
|
private T data;
|
||||||
|
|
||||||
|
public ApiResponse() {}
|
||||||
|
|
||||||
|
public ApiResponse(int code, String message, T data) {
|
||||||
|
this.code = code;
|
||||||
|
this.message = message;
|
||||||
|
this.data = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> ApiResponse<T> success(T data) {
|
||||||
|
return new ApiResponse<>(200, "Success", data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> ApiResponse<T> success(T data, String message) {
|
||||||
|
return new ApiResponse<>(200, message, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> ApiResponse<T> error(int code, String message) {
|
||||||
|
return new ApiResponse<>(code, message, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> ApiResponse<T> warning(int code, String message, T data) {
|
||||||
|
return new ApiResponse<>(code, message, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> ApiResponse<T> info(int code, String message, T data) {
|
||||||
|
return new ApiResponse<>(code, message, data);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
HELP.md
|
||||||
|
target/
|
||||||
|
!.mvn/wrapper/maven-wrapper.jar
|
||||||
|
!**/src/main/**/target/
|
||||||
|
!**/src/test/**/target/
|
||||||
|
|
||||||
|
### STS ###
|
||||||
|
.apt_generated
|
||||||
|
.classpath
|
||||||
|
.factorypath
|
||||||
|
.project
|
||||||
|
.settings
|
||||||
|
.springBeans
|
||||||
|
.sts4-cache
|
||||||
|
|
||||||
|
### IntelliJ IDEA ###
|
||||||
|
.idea
|
||||||
|
*.iws
|
||||||
|
*.iml
|
||||||
|
*.ipr
|
||||||
|
|
||||||
|
### NetBeans ###
|
||||||
|
/nbproject/private/
|
||||||
|
/nbbuild/
|
||||||
|
/dist/
|
||||||
|
/nbdist/
|
||||||
|
/.nb-gradle/
|
||||||
|
build/
|
||||||
|
!**/src/main/**/build/
|
||||||
|
!**/src/test/**/build/
|
||||||
|
|
||||||
|
### VS Code ###
|
||||||
|
.vscode/
|
|
@ -0,0 +1,46 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>com.hy</groupId>
|
||||||
|
<artifactId>land</artifactId>
|
||||||
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
<artifactId>land-common</artifactId>
|
||||||
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
|
<name>common</name>
|
||||||
|
<description>common</description>
|
||||||
|
<properties>
|
||||||
|
<java.version>17</java.version>
|
||||||
|
</properties>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.gdal</groupId>
|
||||||
|
<artifactId>gdal</artifactId>
|
||||||
|
<version>3.8.0</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.projectlombok</groupId>
|
||||||
|
<artifactId>lombok</artifactId>
|
||||||
|
<version>1.18.32</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework</groupId>
|
||||||
|
<artifactId>spring-web</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-test</artifactId>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>junit</groupId>
|
||||||
|
<artifactId>junit</artifactId>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</project>
|
|
@ -0,0 +1,30 @@
|
||||||
|
package com.hy.common;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
|
||||||
|
public class FileUploadUtils {
|
||||||
|
@Value("${file.upload-dir}")
|
||||||
|
private static String uploadDir="D:\\testlearn\\";
|
||||||
|
public static boolean upLoadFile(MultipartFile multipartFile) throws IOException {
|
||||||
|
if (multipartFile.isEmpty()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
String originalFilename = multipartFile.getOriginalFilename();
|
||||||
|
String subFolderName = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||||
|
String uploadFilePath = uploadDir + subFolderName + File.separator + originalFilename;
|
||||||
|
File file = new File(uploadFilePath);
|
||||||
|
File parentDir = file.getParentFile();
|
||||||
|
if (parentDir.exists() || parentDir.mkdirs()) {
|
||||||
|
multipartFile.transferTo(file);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
package com.hy.common;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
import java.nio.file.Paths;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class JsonUtils {
|
||||||
|
public static Map<String,String> json2Map(String path) throws IOException {
|
||||||
|
Map<String, String> geoJsonMap = new HashMap<>();
|
||||||
|
String content = new String(Files.readAllBytes(Paths.get(path)));
|
||||||
|
geoJsonMap.put(Path.of(path).getFileName().toString().split("\\.")[0],content);
|
||||||
|
geoJsonMap.forEach((key,value)->{
|
||||||
|
System.out.println(key);
|
||||||
|
System.out.println(value);
|
||||||
|
});
|
||||||
|
return geoJsonMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,70 @@
|
||||||
|
package com.hy.common;
|
||||||
|
|
||||||
|
import org.gdal.gdal.gdal;
|
||||||
|
import org.gdal.ogr.*;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
/*
|
||||||
|
* shp文件操作工具类
|
||||||
|
* */
|
||||||
|
public class ShpUtils {
|
||||||
|
/*
|
||||||
|
* gdal配置
|
||||||
|
* */
|
||||||
|
public static void setConfig() {
|
||||||
|
gdal.AllRegister();
|
||||||
|
ogr.RegisterAll();
|
||||||
|
gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "YES");
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* shp文件转换为geojson,输入参数为shp文件绝对路径和输出文件的绝对路径
|
||||||
|
* 结果生成一个geojson文件
|
||||||
|
* */
|
||||||
|
public static void shp2Json(String shpfilepath,String outfilepath) {
|
||||||
|
try {
|
||||||
|
File file = new File(shpfilepath);
|
||||||
|
if (!file.exists()) {
|
||||||
|
throw new IllegalArgumentException("File does not exist: " + shpfilepath);
|
||||||
|
}
|
||||||
|
DataSource dataSource = ogr.Open(shpfilepath, 1);
|
||||||
|
if (dataSource == null) {
|
||||||
|
throw new RuntimeException("Failed to open data source: " + shpfilepath);
|
||||||
|
}
|
||||||
|
Layer layer = dataSource.GetLayer(0);
|
||||||
|
if (layer == null) {
|
||||||
|
throw new RuntimeException("Layer is null");
|
||||||
|
}
|
||||||
|
|
||||||
|
Driver jsondr = ogr.GetDriverByName("GeoJSON");
|
||||||
|
if (jsondr == null) {
|
||||||
|
throw new RuntimeException("Failed to get GeoJSON driver");
|
||||||
|
}
|
||||||
|
DataSource jsonds = jsondr.CreateDataSource(outfilepath+".geojson");
|
||||||
|
if (jsonds == null) {
|
||||||
|
throw new RuntimeException("Failed to create GeoJSON data source");
|
||||||
|
}
|
||||||
|
int geometrytype = layer.GetGeomType();
|
||||||
|
Layer geojsonlayer = jsonds.CreateLayer(layer.GetName(), layer.GetSpatialRef(), geometrytype);
|
||||||
|
if (geojsonlayer == null) {
|
||||||
|
throw new RuntimeException("Failed to create GeoJSON layer");
|
||||||
|
}
|
||||||
|
for (int i = 0; i < layer.GetLayerDefn().GetFieldCount(); i++) {
|
||||||
|
geojsonlayer.CreateField(layer.GetLayerDefn().GetFieldDefn(i));
|
||||||
|
}
|
||||||
|
Feature feature;
|
||||||
|
while ((feature = layer.GetNextFeature()) != null) {
|
||||||
|
geojsonlayer.CreateFeature(feature);
|
||||||
|
feature.delete();
|
||||||
|
}
|
||||||
|
dataSource.delete();
|
||||||
|
jsonds.delete();
|
||||||
|
layer.delete();
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,2 @@
|
||||||
|
file:
|
||||||
|
upload-dir: D:\testlearn\
|
|
@ -0,0 +1,33 @@
|
||||||
|
HELP.md
|
||||||
|
target/
|
||||||
|
!.mvn/wrapper/maven-wrapper.jar
|
||||||
|
!**/src/main/**/target/
|
||||||
|
!**/src/test/**/target/
|
||||||
|
|
||||||
|
### STS ###
|
||||||
|
.apt_generated
|
||||||
|
.classpath
|
||||||
|
.factorypath
|
||||||
|
.project
|
||||||
|
.settings
|
||||||
|
.springBeans
|
||||||
|
.sts4-cache
|
||||||
|
|
||||||
|
### IntelliJ IDEA ###
|
||||||
|
.idea
|
||||||
|
*.iws
|
||||||
|
*.iml
|
||||||
|
*.ipr
|
||||||
|
|
||||||
|
### NetBeans ###
|
||||||
|
/nbproject/private/
|
||||||
|
/nbbuild/
|
||||||
|
/dist/
|
||||||
|
/nbdist/
|
||||||
|
/.nb-gradle/
|
||||||
|
build/
|
||||||
|
!**/src/main/**/build/
|
||||||
|
!**/src/test/**/build/
|
||||||
|
|
||||||
|
### VS Code ###
|
||||||
|
.vscode/
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>com.hy</groupId>
|
||||||
|
<artifactId>land</artifactId>
|
||||||
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
<artifactId>land-dao</artifactId>
|
||||||
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
|
<name>dao</name>
|
||||||
|
<description>dao</description>
|
||||||
|
<properties>
|
||||||
|
<java.version>17</java.version>
|
||||||
|
</properties>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.hy</groupId>
|
||||||
|
<artifactId>land-common</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.mybatis</groupId>
|
||||||
|
<artifactId>mybatis</artifactId>
|
||||||
|
<version>3.5.14</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</project>
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.hy.dao.entity;
|
||||||
|
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class GeoData {
|
||||||
|
public String name;
|
||||||
|
public String geojson;
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
package com.hy.dao.mapper;
|
||||||
|
|
||||||
|
|
||||||
|
import com.hy.dao.entity.GeoData;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface GeoDataMapper {
|
||||||
|
GeoData getGeoDataByName(String name);
|
||||||
|
List<GeoData> getAllGeoData();
|
||||||
|
void insertGeoData(GeoData geoData);
|
||||||
|
void updateGeoData(GeoData geoData);
|
||||||
|
void deleteGeoData(String name);
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.hy.dao.mapper.GeoDataMapper">
|
||||||
|
|
||||||
|
<resultMap id="GeoDataResultMap" type="com.hy.dao.entity.GeoData">
|
||||||
|
<id property="name" column="name" />
|
||||||
|
<result property="geojson" column="geojson" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<select id="getGeoDataByName" resultMap="GeoDataResultMap">
|
||||||
|
SELECT * FROM geodata WHERE name = #{name}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getAllGeoData" resultMap="GeoDataResultMap">
|
||||||
|
SELECT * FROM geodata
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<insert id="insertGeoData">
|
||||||
|
INSERT INTO geodata (name, geojson) VALUES (#{name}, #{geojson})
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<update id="updateGeoData">
|
||||||
|
UPDATE geodata SET geojson = #{geojson} WHERE name = #{name}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<delete id="deleteGeoData">
|
||||||
|
DELETE FROM geodata WHERE name = #{name}
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
</mapper>
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>com.hy</groupId>
|
||||||
|
<artifactId>land</artifactId>
|
||||||
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
|
|
||||||
|
</parent>
|
||||||
|
<artifactId>land-service</artifactId>
|
||||||
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
|
<name>service</name>
|
||||||
|
<description>service</description>
|
||||||
|
<properties>
|
||||||
|
<java.version>17</java.version>
|
||||||
|
</properties>
|
||||||
|
<dependencies>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.hy</groupId>
|
||||||
|
<artifactId>land-dao</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.postgresql</groupId>
|
||||||
|
<artifactId>postgresql</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework</groupId>
|
||||||
|
<artifactId>spring-context</artifactId>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
|
||||||
|
</project>
|
|
@ -0,0 +1,13 @@
|
||||||
|
package com.hy.service;
|
||||||
|
|
||||||
|
import com.hy.dao.entity.GeoData;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface GeoDataService {
|
||||||
|
GeoData getGeoDataByName(String name);
|
||||||
|
List<GeoData> getAllGeoData();
|
||||||
|
void insertGeoData(GeoData geoData);
|
||||||
|
void updateGeoData(GeoData geoData);
|
||||||
|
void deleteGeoData(String name);
|
||||||
|
}
|
|
@ -0,0 +1,40 @@
|
||||||
|
package com.hy.serviceImpl;
|
||||||
|
|
||||||
|
import com.hy.dao.entity.GeoData;
|
||||||
|
import com.hy.dao.mapper.GeoDataMapper;
|
||||||
|
import com.hy.service.GeoDataService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class GeoDataServiceImpl implements GeoDataService {
|
||||||
|
@Autowired
|
||||||
|
private GeoDataMapper geoDataMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public GeoData getGeoDataByName(String name) {
|
||||||
|
return geoDataMapper.getGeoDataByName(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<GeoData> getAllGeoData() {
|
||||||
|
return geoDataMapper.getAllGeoData();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void insertGeoData(GeoData geoData) {
|
||||||
|
geoDataMapper.insertGeoData(geoData);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateGeoData(GeoData geoData) {
|
||||||
|
geoDataMapper.updateGeoData(geoData);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deleteGeoData(String name) {
|
||||||
|
geoDataMapper.deleteGeoData(name);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
HELP.md
|
||||||
|
target/
|
||||||
|
!.mvn/wrapper/maven-wrapper.jar
|
||||||
|
!**/src/main/**/target/
|
||||||
|
!**/src/test/**/target/
|
||||||
|
|
||||||
|
### STS ###
|
||||||
|
.apt_generated
|
||||||
|
.classpath
|
||||||
|
.factorypath
|
||||||
|
.project
|
||||||
|
.settings
|
||||||
|
.springBeans
|
||||||
|
.sts4-cache
|
||||||
|
|
||||||
|
### IntelliJ IDEA ###
|
||||||
|
.idea
|
||||||
|
*.iws
|
||||||
|
*.iml
|
||||||
|
*.ipr
|
||||||
|
|
||||||
|
### NetBeans ###
|
||||||
|
/nbproject/private/
|
||||||
|
/nbbuild/
|
||||||
|
/dist/
|
||||||
|
/nbdist/
|
||||||
|
/.nb-gradle/
|
||||||
|
build/
|
||||||
|
!**/src/main/**/build/
|
||||||
|
!**/src/test/**/build/
|
||||||
|
|
||||||
|
### VS Code ###
|
||||||
|
.vscode/
|
|
@ -0,0 +1,60 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<artifactId>land-web</artifactId>
|
||||||
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
|
<name>web</name>
|
||||||
|
<description>web</description>
|
||||||
|
<parent>
|
||||||
|
<groupId>com.hy</groupId>
|
||||||
|
<artifactId>land</artifactId>
|
||||||
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
|
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<java.version>17</java.version>
|
||||||
|
</properties>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-web</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-test</artifactId>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.hy</groupId>
|
||||||
|
<artifactId>land-service</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.mybatis.spring.boot</groupId>
|
||||||
|
<artifactId>mybatis-spring-boot-starter</artifactId>
|
||||||
|
<version>3.0.3</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.mybatis.spring.boot</groupId>
|
||||||
|
<artifactId>mybatis-spring-boot-starter-test</artifactId>
|
||||||
|
<version>3.0.3</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.hy</groupId>
|
||||||
|
<artifactId>land-api</artifactId>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
</project>
|
|
@ -0,0 +1,21 @@
|
||||||
|
package com.hy;
|
||||||
|
|
||||||
|
import com.hy.dao.entity.GeoData;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.SpringApplication;
|
||||||
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@SpringBootApplication
|
||||||
|
public class WebApplication {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
SpringApplication.run(WebApplication.class, args);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
server:
|
||||||
|
port: 8080
|
||||||
|
spring:
|
||||||
|
datasource:
|
||||||
|
driver-class-name: org.postgresql.Driver
|
||||||
|
url: jdbc:postgresql://123.249.39.101:5432/gisserver
|
||||||
|
username: postgres
|
||||||
|
password: dujunming520
|
||||||
|
mybatis:
|
||||||
|
# config-location: classpath:mybatis-config.xml
|
||||||
|
mapper-locations: classpath:mapper/*.xml
|
||||||
|
type-aliases-package: com.hy.dao.entity
|
||||||
|
file:
|
||||||
|
upload-dir: D:\testlearn\
|
|
@ -0,0 +1,75 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<groupId>com.hy</groupId>
|
||||||
|
<artifactId>land</artifactId>
|
||||||
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
|
<name>land</name>
|
||||||
|
<description>land</description>
|
||||||
|
<packaging>pom</packaging>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-parent</artifactId>
|
||||||
|
<version>3.2.5</version>
|
||||||
|
<relativePath/> <!-- lookup parent from repository -->
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<java.version>17</java.version>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<modules>
|
||||||
|
<module>land-web</module>
|
||||||
|
<module>land-common</module>
|
||||||
|
<module>land-service</module>
|
||||||
|
<module>land-api</module>
|
||||||
|
<module>land-dao</module>
|
||||||
|
</modules>
|
||||||
|
<dependencyManagement>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.hy</groupId>
|
||||||
|
<artifactId>land-web</artifactId>
|
||||||
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.hy</groupId>
|
||||||
|
<artifactId>land-common</artifactId>
|
||||||
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.hy</groupId>
|
||||||
|
<artifactId>land-dao</artifactId>
|
||||||
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.hy</groupId>
|
||||||
|
<artifactId>land-api</artifactId>
|
||||||
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.hy</groupId>
|
||||||
|
<artifactId>land-service</artifactId>
|
||||||
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</dependencies>
|
||||||
|
</dependencyManagement>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- <build>-->
|
||||||
|
<!-- <plugins>-->
|
||||||
|
<!-- <plugin>-->
|
||||||
|
<!-- <groupId>org.springframework.boot</groupId>-->
|
||||||
|
<!-- <artifactId>spring-boot-maven-plugin</artifactId>-->
|
||||||
|
<!-- </plugin>-->
|
||||||
|
<!-- </plugins>-->
|
||||||
|
<!-- </build>-->
|
||||||
|
|
||||||
|
</project>
|
Loading…
Reference in New Issue