反射关键代码
public void getDomainValue(T entity) {
StringBuffer buffer = new StringBuffer("select * from ");
buffer.append(entity.getClass().getSimpleName());
buffer.append(" 1=1 ");
Field[] fields = entity.getClass().getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true);
String name = field.getName();
String fristUpperCase = name.substring(0, 1).toUpperCase() + name.substring(1);
Method method;
Object value = null;
try {
method = entity.getClass().getMethod("get" + fristUpperCase);
value = method.invoke(entity);
if(null != value) {
buffer.append(" and ");
buffer.append(name);
buffer.append(" = ");
if(field.getType() == String.class) {
buffer.append("'");
buffer.append(value);
buffer.append("'");
}else {
buffer.append(value);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
System.out.println(buffer.toString());
}