直接上代码
public static String generateInsert(Object object){
String sql = " insert into "+object.getClass().getSimpleName()+" (";
try {
Field[] declaredFields = object.getClass().getDeclaredFields();
for (int i = 0; i < declaredFields.length; i++) {
if(!"dao".equals(declaredFields[i].getName())) {
//设置是否允许访问,不是修改原来的访问权限修饰词。
declaredFields[i].setAccessible(true);
//为空的不加入
if(declaredFields[i].get(object)!=null&&!"".equals(declaredFields[i].get(object))) {
sql+=declaredFields[i].getName()+",";
}
}
}
sql+="* values (";
for (int i = 0; i < declaredFields.length; i++) {
if(!"dao".equals(declaredFields[i].getName())) {
//设置是否允许访问,不是修改原来的访问权限修饰词。
declaredFields[i].setAccessible(true);
if(declaredFields[i].get(object)!=null&&!"".equals(declaredFields[i].get(object))) {
if("class java.util.Date".equals(declaredFields[i].getType().toString())) {
SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-MM-dd");
String format = sdf.format(declaredFields[i].get(object));
sql+="to_date('"+format+"', 'dd-mm-yyyy'),";
}else {
sql+="'"+declaredFields[i].get(object)+"',";
}
}
}
}
sql+="*";
sql=sql.replace(",*", ")");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sql = sql.replace("'#pk#'", "pk.nextval");
return sql;
}