This commit is contained in:
@@ -926,28 +926,28 @@ public final class DataJDBCSource implements DataSource {
|
|||||||
|
|
||||||
//-----------------------getMapResult-----------------------------
|
//-----------------------getMapResult-----------------------------
|
||||||
@Override
|
@Override
|
||||||
public Map<Serializable, Number> getMapResult(Class entityClass, final String keyColumn, Reckon reckon, final String reckonColumn) {
|
public <K extends Serializable, V extends Number> Map<K, V> getMapResult(Class entityClass, final String keyColumn, Reckon reckon, final String reckonColumn) {
|
||||||
return getMapResult(entityClass, keyColumn, reckon, reckonColumn, null, null);
|
return getMapResult(entityClass, keyColumn, reckon, reckonColumn, null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Serializable, Number> getMapResult(Class entityClass, final String keyColumn, Reckon reckon, final String reckonColumn, FilterBean bean) {
|
public <K extends Serializable, V extends Number> Map<K, V> getMapResult(Class entityClass, final String keyColumn, Reckon reckon, final String reckonColumn, FilterBean bean) {
|
||||||
return getMapResult(entityClass, keyColumn, reckon, reckonColumn, null, bean);
|
return getMapResult(entityClass, keyColumn, reckon, reckonColumn, null, bean);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Serializable, Number> getMapResult(Class entityClass, final String keyColumn, Reckon reckon, final String reckonColumn, FilterNode node) {
|
public <K extends Serializable, V extends Number> Map<K, V> getMapResult(Class entityClass, final String keyColumn, Reckon reckon, final String reckonColumn, FilterNode node) {
|
||||||
return getMapResult(entityClass, keyColumn, reckon, reckonColumn, node, null);
|
return getMapResult(entityClass, keyColumn, reckon, reckonColumn, node, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
private <T> Map<Serializable, Number> getMapResult(final Class entityClass, final String keyColumn, final Reckon reckon, final String reckonColumn, FilterNode node, FilterBean bean) {
|
private <K extends Serializable, V extends Number> Map<K, V> getMapResult(final Class entityClass, final String keyColumn, final Reckon reckon, final String reckonColumn, FilterNode node, FilterBean bean) {
|
||||||
final Connection conn = createReadSQLConnection();
|
final Connection conn = createReadSQLConnection();
|
||||||
try {
|
try {
|
||||||
final EntityInfo<T> info = loadEntityInfo(entityClass);
|
final EntityInfo info = loadEntityInfo(entityClass);
|
||||||
if (node == null && bean != null) node = loadFilterBeanNode(bean.getClass());
|
if (node == null && bean != null) node = loadFilterBeanNode(bean.getClass());
|
||||||
final EntityCache<T> cache = info.getCache();
|
final EntityCache cache = info.getCache();
|
||||||
if (cache != null && cache.isFullLoaded()) {
|
if (cache != null && cache.isFullLoaded()) {
|
||||||
Predicate<T> filter = node == null ? null : node.createFilterPredicate(info, bean);
|
Predicate filter = node == null ? null : node.createFilterPredicate(info, bean);
|
||||||
if (node == null || node.isJoinAllCached()) {
|
if (node == null || node.isJoinAllCached()) {
|
||||||
return cache.getMapResult(info.getAttribute(keyColumn), reckon, reckonColumn == null ? null : info.getAttribute(reckonColumn), filter);
|
return cache.getMapResult(info.getAttribute(keyColumn), reckon, reckonColumn == null ? null : info.getAttribute(reckonColumn), filter);
|
||||||
}
|
}
|
||||||
@@ -957,10 +957,10 @@ public final class DataJDBCSource implements DataSource {
|
|||||||
+ " FROM " + info.getTable() + " a" + (node == null ? "" : node.createFilterSQLExpress(info, bean)) + " GROUP BY a." + sqlkey;
|
+ " FROM " + info.getTable() + " a" + (node == null ? "" : node.createFilterSQLExpress(info, bean)) + " GROUP BY a." + sqlkey;
|
||||||
if (debug.get() && info.isLoggable(Level.FINEST)) logger.finest(entityClass.getSimpleName() + " single sql=" + sql);
|
if (debug.get() && info.isLoggable(Level.FINEST)) logger.finest(entityClass.getSimpleName() + " single sql=" + sql);
|
||||||
final PreparedStatement prestmt = conn.prepareStatement(sql);
|
final PreparedStatement prestmt = conn.prepareStatement(sql);
|
||||||
Map<Serializable, Number> rs = new LinkedHashMap<>();
|
Map<K, V> rs = new LinkedHashMap<>();
|
||||||
ResultSet set = prestmt.executeQuery();
|
ResultSet set = prestmt.executeQuery();
|
||||||
while (set.next()) {
|
while (set.next()) {
|
||||||
rs.put((Serializable) set.getObject(1), (Number) set.getObject(2));
|
rs.put((K) set.getObject(1), (V) set.getObject(2));
|
||||||
}
|
}
|
||||||
set.close();
|
set.close();
|
||||||
prestmt.close();
|
prestmt.close();
|
||||||
|
|||||||
@@ -108,11 +108,11 @@ public interface DataSource {
|
|||||||
|
|
||||||
public Number getNumberResult(final Class entityClass, final Reckon reckon, final String column, FilterNode node);
|
public Number getNumberResult(final Class entityClass, final Reckon reckon, final String column, FilterNode node);
|
||||||
|
|
||||||
public Map<Serializable, Number> getMapResult(Class entityClass, final String keyColumn, Reckon reckon, final String reckonColumn);
|
public <K extends Serializable, V extends Number> Map<K, V> getMapResult(Class entityClass, final String keyColumn, Reckon reckon, final String reckonColumn);
|
||||||
|
|
||||||
public Map<Serializable, Number> getMapResult(Class entityClass, final String keyColumn, Reckon reckon, final String reckonColumn, FilterBean bean);
|
public <K extends Serializable, V extends Number> Map<K, V> getMapResult(Class entityClass, final String keyColumn, Reckon reckon, final String reckonColumn, FilterBean bean);
|
||||||
|
|
||||||
public Map<Serializable, Number> getMapResult(Class entityClass, final String keyColumn, Reckon reckon, final String reckonColumn, FilterNode node);
|
public <K extends Serializable, V extends Number> Map<K, V> getMapResult(Class entityClass, final String keyColumn, Reckon reckon, final String reckonColumn, FilterNode node);
|
||||||
|
|
||||||
//-----------------------find----------------------------
|
//-----------------------find----------------------------
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user