jdbc优化
This commit is contained in:
@@ -2150,15 +2150,17 @@ public class DataJdbcSource extends AbstractDataSqlSource {
|
||||
try {
|
||||
String prepareSQL = info.getFindQuestionPrepareSQL(ids[0]);
|
||||
PreparedStatement ps = conn.prepareStatement(prepareSQL);
|
||||
DataJdbcResultSet rr = new DataJdbcResultSet(info);
|
||||
for (Serializable pk : ids) {
|
||||
ps.setObject(1, pk);
|
||||
}
|
||||
ResultSet set = ps.executeQuery();
|
||||
final DataResultSet rr = createDataResultSet(info, set);
|
||||
while (set.next()) {
|
||||
rr.resultSet(set);
|
||||
if (set.next()) {
|
||||
list.add(getEntityValue(info, null, rr));
|
||||
} else {
|
||||
list.add(null);
|
||||
}
|
||||
}
|
||||
set.close();
|
||||
ps.close();
|
||||
slowLog(s, prepareSQL);
|
||||
return list;
|
||||
@@ -2553,10 +2555,24 @@ public class DataJdbcSource extends AbstractDataSqlSource {
|
||||
}
|
||||
|
||||
public static DataResultSet createDataResultSet(EntityInfo info, ResultSet set) {
|
||||
return new DataJdbcResultSet(info).resultSet(set);
|
||||
}
|
||||
|
||||
final ResultSet rr = set;
|
||||
protected static class DataJdbcResultSet implements DataResultSet {
|
||||
|
||||
return new DataResultSet() {
|
||||
EntityInfo info;
|
||||
|
||||
ResultSet rr;
|
||||
|
||||
public DataJdbcResultSet(EntityInfo info) {
|
||||
this.info = info;
|
||||
|
||||
}
|
||||
|
||||
public DataJdbcResultSet resultSet(ResultSet set) {
|
||||
this.rr = set;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> Serializable getObject(Attribute<T, Serializable> attr, int index, String column) {
|
||||
@@ -2666,8 +2682,6 @@ public class DataJdbcSource extends AbstractDataSqlSource {
|
||||
return info;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
protected class ConnectionPool implements AutoCloseable {
|
||||
|
||||
Reference in New Issue
Block a user