This commit is contained in:
地平线
2015-07-15 22:21:12 +08:00
parent ecd406341e
commit ecbbffb9d7
2 changed files with 12 additions and 11 deletions

View File

@@ -1055,29 +1055,29 @@ public final class DataJDBCSource implements DataSource {
* @return
*/
@Override
public <T> Map<Serializable, T> queryMap(final Class<T> clazz, final FilterBean bean) {
public <K extends Serializable, T> Map<K, 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) {
public <K extends Serializable, T> Map<K, 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) {
public <K extends Serializable, T> Map<K, 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) {
public <K extends Serializable, T> Map<K, 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<>();
private <K extends Serializable, T> Map<K, T> formatMap(final Class<T> clazz, Collection<T> list) {
Map<K, T> map = new LinkedHashMap<>();
if (list == null || list.isEmpty()) return map;
final Attribute<T, Serializable> attr = loadEntityInfo(clazz).getPrimary();
final Attribute<T, K> attr = (Attribute<T, K>) loadEntityInfo(clazz).getPrimary();
for (T t : list) {
map.put(attr.get(t), t);
}

View File

@@ -166,18 +166,19 @@ public interface DataSource {
/**
* Map 接口
* <p>
* @param <K>
* @param <T>
* @param clazz
* @param node
* @return
*/
public <T> Map<Serializable, T> queryMap(final Class<T> clazz, final FilterNode node);
public <K extends Serializable, T> Map<K, T> queryMap(final Class<T> clazz, final FilterNode node);
public <T> Map<Serializable, T> queryMap(final Class<T> clazz, final FilterBean bean);
public <K extends Serializable, T> Map<K, 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 <K extends Serializable, T> Map<K, 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);
public <K extends Serializable, T> Map<K, T> queryMap(final Class<T> clazz, final SelectColumn selects, final FilterBean bean);
/**
* 根据指定字段值查询对象集合