This commit is contained in:
地平线
2015-06-30 17:29:16 +08:00
parent 44bce13f4c
commit 11628e1724
2 changed files with 54 additions and 0 deletions

View File

@@ -1044,6 +1044,44 @@ public final class DataJDBCSource implements DataSource {
return (List<V>) queryColumnSheet(selectedColumn, clazz, null, node).list(true);
}
/**
* 根据过滤对象FilterBean查询对象集合
*
* @param <T>
* @param clazz
* @param bean
* @return
*/
@Override
public <T> Map<Serializable, T> queryMap(final Class<T> clazz, final FilterBean bean) {
return queryMap(clazz, null, bean);
}
@Override
public <T> Map<Serializable, T> queryMap(final Class<T> clazz, final FilterNode node) {
return queryMap(clazz, null, node);
}
@Override
public <T> Map<Serializable, T> queryMap(final Class<T> clazz, final SelectColumn selects, final FilterBean bean) {
return formatMap(clazz, querySheet(clazz, selects, null, bean).getRows());
}
@Override
public <T> Map<Serializable, T> queryMap(final Class<T> clazz, final SelectColumn selects, final FilterNode node) {
return formatMap(clazz, querySheet(clazz, selects, null, node).getRows());
}
private <T> Map<Serializable, T> formatMap(final Class<T> clazz, Collection<T> list) {
Map<Serializable, T> map = new LinkedHashMap<>();
if (list == null || list.isEmpty()) return map;
final Attribute<T, Serializable> attr = loadEntityInfo(clazz).getPrimary();
for (T t : list) {
map.put(attr.get(t), t);
}
return map;
}
/**
* 根据指定字段值查询对象集合
*

View File

@@ -157,6 +157,22 @@ public interface DataSource {
public <T, V> List<V> queryColumnList(String selectedColumn, Class<T> clazz, FilterBean bean);
/**
* Map 接口
* <p>
* @param <T>
* @param clazz
* @param node
* @return
*/
public <T> Map<Serializable, T> queryMap(final Class<T> clazz, final FilterNode node);
public <T> Map<Serializable, T> queryMap(final Class<T> clazz, final FilterBean bean);
public <T> Map<Serializable, T> queryMap(final Class<T> clazz, final SelectColumn selects, final FilterNode node);
public <T> Map<Serializable, T> queryMap(final Class<T> clazz, final SelectColumn selects, final FilterBean bean);
/**
* 根据指定字段值查询对象集合
*