diff --git a/src/main/java/com/gis3c/App.java b/src/main/java/com/gis3c/App.java index 6c2170d..3c70a84 100644 --- a/src/main/java/com/gis3c/App.java +++ b/src/main/java/com/gis3c/App.java @@ -19,20 +19,25 @@ public class App { public static void main(String[] args) { ApplicationContext context = ApplicationInit(); ViewService viewService = context.getBean(ViewService.class); - View view = new View(); - String id = UUID.randomUUID().toString(); - view.setViewId(id); - System.out.println(view.getViewId()); - view.setViewName("测试视图"); - view.setCenter(new Double[]{117.089151, 36.738693}); - view.setProjection("EPSG:4326"); - view.setMinZoom(8); - view.setMaxZoom(18); - view.setZoom(9); + View view = viewService.findeViewById("a20d41b4-208d-47da-8c02-e7023fc4e9f4"); + System.out.println("["+ ((Double[])view.getCenter())[0] + ", " + ((Double[])view.getCenter())[1] + "]"); - viewService.insertView(view); - System.out.println("插入成功"); + +// View view = new View(); +// String id = UUID.randomUUID().toString(); +// +// view.setViewId(id); +// System.out.println(view.getViewId()); +// view.setViewName("测试视图"); +// view.setCenter(new Double[]{117.089151, 36.738693}); +// view.setProjection("EPSG:4326"); +// view.setMinZoom(8); +// view.setMaxZoom(18); +// view.setZoom(9); +// +// viewService.insertView(view); +// System.out.println("插入成功"); // MapService mapService = context.getBean(MapService.class); // Map map = mapService.findAllList().get(0); diff --git a/src/main/java/com/gis3c/spatial/postgis/ArrayTypeHandler.java b/src/main/java/com/gis3c/spatial/postgis/ArrayTypeHandler.java index ef8e3d8..f830495 100644 --- a/src/main/java/com/gis3c/spatial/postgis/ArrayTypeHandler.java +++ b/src/main/java/com/gis3c/spatial/postgis/ArrayTypeHandler.java @@ -4,11 +4,13 @@ import org.apache.ibatis.type.BaseTypeHandler; import org.apache.ibatis.type.JdbcType; import org.apache.ibatis.type.TypeException; +import java.math.BigDecimal; import java.sql.*; /** * Created by hukekuan on 2017/12/15. */ + public class ArrayTypeHandler extends BaseTypeHandler { private static final String TYPE_NAME_VARCHAR = "varchar"; private static final String TYPE_NAME_BOOLEAN = "boolean"; @@ -32,11 +34,13 @@ public class ArrayTypeHandler extends BaseTypeHandler { if (typeName == null) { throw new TypeException("ArrayTypeHandler parameter typeName error, your type is " + parameter.getClass().getName()); } - System.out.println("======= "+ typeName +" ======="); + Array array = ps.getConnection().createArrayOf(typeName, parameter); ps.setArray(i, array); } + + @Override public Object[] getNullableResult(ResultSet rs, String columnName) throws SQLException { return getArray(rs.getArray(columnName)); diff --git a/src/main/resources/init.sql b/src/main/resources/init.sql index b8c5eb9..c06cfb0 100644 --- a/src/main/resources/init.sql +++ b/src/main/resources/init.sql @@ -16,8 +16,8 @@ create table c3gis_ol_map( create table c3gis_ol_view( viewid varchar(50) not null PRIMARY KEY, viewname varchar(50) not null, - center NUMERIC(14,6) ARRAY[2], - extent NUMERIC(14,6) ARRAY[4], + center double precision ARRAY[2], + extent double precision ARRAY[4], maxresolution varchar(50), minresolution varchar(50), maxzoom int, diff --git a/src/main/resources/mappings/ol/ViewDao.xml b/src/main/resources/mappings/ol/ViewDao.xml index 70ee113..844e070 100644 --- a/src/main/resources/mappings/ol/ViewDao.xml +++ b/src/main/resources/mappings/ol/ViewDao.xml @@ -2,24 +2,23 @@ - + - - - + + - + - v.viewid + viewid , v.viewname , v.center , v.extent @@ -39,7 +38,7 @@ SELECT FROM c3gis_ol_view v - WHERE v.viewid = #{viewId}; + WHERE v.viewid = #{viewId, javaType=java.lang.String};