通过反射可以获得实体的属性和类的名字我们就可以拼接处sql语句:
//查询的万能dao
public static void select(Object o){
//通过对象获取类对象
Class<? extends Object> c = o.getClass();
//获取类中的属性
Field[] fields = c.getDeclaredFields();
//设置权限
Field.setAccessible(fields, true);
//拼接sql语句
StringBuffer sb=new StringBuffer("select ");
for (int i = 0; i < fields.length; i++) {
sb.append(fields[i].getName());
if (i<fields.length-1) {
sb.append(",");
}
}
sb.append(" from "+c.getSimpleName());
//输出sql语句查看是否出错
System.out.println(sb);
}
这样我们就可以通过传入对象自动生成查询的sql语句进行数据库操作