Re: JDBC compare the content of two tables
George3 wrote:
Thanks Patricia,
Is FieldComparator standard Java API? I can not find it from java.sun.com API
document. Could you provide more detailed information please? Especially how
to implement Map<String,FieldComparator>?
No, I'm suggesting defining a new interface. It could be something like:
interface FieldComparator{
int compare(RowSet row1, int field1,
RowSet row2, int field2);
}
A particular implementation might be something like:
FieldComparator doubleFieldComparator = new FieldComparator(){
public int compare(RowSet row1, int field1,
RowSet row2, int field2){
double val1 = row1.getDouble(field1);
double val2 = row2.getDouble(field2);
return Double.compare(val1,val2);
}
};
Map<String,FieldComparator> comparatorMap
= new HashMap<String,FieldComparator>();
comparatorMap.put("DOUBLE",doubleFieldComparator);
....
To use this, given two result sets, a pair of possibly matching fields,
and a field type string:
FieldComparator comparator = comparatorMap.get(typeString);
int comparisonResult = comparator.compare(row1,field1,row2,field2);
Patricia