From 11628e17241b00e8838a767632d8de3d476ffb40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=9C=B0=E5=B9=B3=E7=BA=BF?= <22250530@qq.com> Date: Tue, 30 Jun 2015 17:29:16 +0800 Subject: [PATCH] --- .../wentch/redkale/source/DataJDBCSource.java | 38 +++++++++++++++++++ src/com/wentch/redkale/source/DataSource.java | 16 ++++++++ 2 files changed, 54 insertions(+) diff --git a/src/com/wentch/redkale/source/DataJDBCSource.java b/src/com/wentch/redkale/source/DataJDBCSource.java index 849914c07..6af939586 100644 --- a/src/com/wentch/redkale/source/DataJDBCSource.java +++ b/src/com/wentch/redkale/source/DataJDBCSource.java @@ -1044,6 +1044,44 @@ public final class DataJDBCSource implements DataSource { return (List) queryColumnSheet(selectedColumn, clazz, null, node).list(true); } + /** + * 根据过滤对象FilterBean查询对象集合 + * + * @param + * @param clazz + * @param bean + * @return + */ + @Override + public Map queryMap(final Class clazz, final FilterBean bean) { + return queryMap(clazz, null, bean); + } + + @Override + public Map queryMap(final Class clazz, final FilterNode node) { + return queryMap(clazz, null, node); + } + + @Override + public Map queryMap(final Class clazz, final SelectColumn selects, final FilterBean bean) { + return formatMap(clazz, querySheet(clazz, selects, null, bean).getRows()); + } + + @Override + public Map queryMap(final Class clazz, final SelectColumn selects, final FilterNode node) { + return formatMap(clazz, querySheet(clazz, selects, null, node).getRows()); + } + + private Map formatMap(final Class clazz, Collection list) { + Map map = new LinkedHashMap<>(); + if (list == null || list.isEmpty()) return map; + final Attribute attr = loadEntityInfo(clazz).getPrimary(); + for (T t : list) { + map.put(attr.get(t), t); + } + return map; + } + /** * 根据指定字段值查询对象集合 * diff --git a/src/com/wentch/redkale/source/DataSource.java b/src/com/wentch/redkale/source/DataSource.java index 3c2a2f882..3c5a427ab 100644 --- a/src/com/wentch/redkale/source/DataSource.java +++ b/src/com/wentch/redkale/source/DataSource.java @@ -157,6 +157,22 @@ public interface DataSource { public List queryColumnList(String selectedColumn, Class clazz, FilterBean bean); + /** + * Map 接口 + *

+ * @param + * @param clazz + * @param node + * @return + */ + public Map queryMap(final Class clazz, final FilterNode node); + + public Map queryMap(final Class clazz, final FilterBean bean); + + public Map queryMap(final Class clazz, final SelectColumn selects, final FilterNode node); + + public Map queryMap(final Class clazz, final SelectColumn selects, final FilterBean bean); + /** * 根据指定字段值查询对象集合 *