From 92eba0df3e8a83a0ea0fe7090cfe948851ad505a Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期一, 19 十二月 2022 14:12:52 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/helper/GdbHelper.java | 32 +++++++++++++++++++++++++++++--- 1 files changed, 29 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/lf/server/helper/GdbHelper.java b/src/main/java/com/lf/server/helper/GdbHelper.java index 17ed1ba..5db1da2 100644 --- a/src/main/java/com/lf/server/helper/GdbHelper.java +++ b/src/main/java/com/lf/server/helper/GdbHelper.java @@ -188,7 +188,7 @@ /** * 鑾峰彇瀛楁鏄犲皠 */ - private static <T> void getFieldMapper(Class clazz, Layer layer, Map<Integer, Field> map) { + private static void getFieldMapper(Class clazz, Layer layer, Map<Integer, Field> map) { try { FeatureDefn fd = layer.GetLayerDefn(); for (int i = 0, count = fd.GetFieldCount(); i < count; i++) { @@ -208,7 +208,7 @@ } } - if (OBJECT != clazz.getSuperclass().getName()) { + if (!OBJECT.equals(clazz.getSuperclass().getName())) { getFieldMapper(clazz.getSuperclass(), layer, map); } } catch (Exception ex) { @@ -346,12 +346,15 @@ continue; } Layer layer = createLayer(dataSource, baseMapper); - if(null == layer){ + if (null == layer) { continue; } String className = ClassHelper.getClassName(baseMapper); Class clazz = ClassHelper.getEntityClass(className); + List<Field> fields = new ArrayList<>(); + + getFields(clazz, fields); List<?> list = map.get(key); } @@ -408,4 +411,27 @@ return ogr.wkbUnknown; } } + + /** + * 鑾峰彇瀛楁 + */ + private static void getFields(Class clazz, List<Field> list) { + try { + Field[] fields = clazz.getDeclaredFields(); + for (Field f : fields) { + if ("geom".equals(f.getName())) { + continue; + } + + f.setAccessible(true); + list.add(f); + } + + if (!OBJECT.equals(clazz.getSuperclass().getName())) { + getFields(clazz.getSuperclass(), list); + } + } catch (Exception ex) { + // + } + } } -- Gitblit v1.9.3