|
|
@ -5,10 +5,7 @@ import xyz.wbsite.wsqlite.anonation.TableField;
|
|
|
|
import java.io.File;
|
|
|
|
import java.io.File;
|
|
|
|
import java.lang.reflect.Field;
|
|
|
|
import java.lang.reflect.Field;
|
|
|
|
import java.sql.SQLException;
|
|
|
|
import java.sql.SQLException;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.*;
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* xyz.wbsite.wsqlite.Client
|
|
|
|
* xyz.wbsite.wsqlite.Client
|
|
|
@ -67,6 +64,9 @@ public class ObjectClient extends Client {
|
|
|
|
} else if (f.getType() == Byte[].class || f.getType() == byte[].class) {
|
|
|
|
} else if (f.getType() == Byte[].class || f.getType() == byte[].class) {
|
|
|
|
sql.append(f.getName().toUpperCase());
|
|
|
|
sql.append(f.getName().toUpperCase());
|
|
|
|
sql.append(" BLOB,");
|
|
|
|
sql.append(" BLOB,");
|
|
|
|
|
|
|
|
} else if (f.getType() == Date.class) {
|
|
|
|
|
|
|
|
sql.append(f.getName().toUpperCase());
|
|
|
|
|
|
|
|
sql.append(" TIMESTAMP,");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -94,39 +94,14 @@ public class ObjectClient extends Client {
|
|
|
|
|
|
|
|
|
|
|
|
StringBuffer fieldsSql = new StringBuffer();
|
|
|
|
StringBuffer fieldsSql = new StringBuffer();
|
|
|
|
StringBuffer valueSql = new StringBuffer();
|
|
|
|
StringBuffer valueSql = new StringBuffer();
|
|
|
|
|
|
|
|
Object[] values = new Object[fs.size()];
|
|
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < fs.size(); i++) {
|
|
|
|
for (int i = 0; i < fs.size(); i++) {
|
|
|
|
Field f = fs.get(i);
|
|
|
|
Field f = fs.get(i);
|
|
|
|
f.setAccessible(true);
|
|
|
|
f.setAccessible(true);
|
|
|
|
fieldsSql.append(f.getName().toUpperCase());
|
|
|
|
fieldsSql.append(f.getName().toUpperCase());
|
|
|
|
|
|
|
|
valueSql.append("?");
|
|
|
|
Object value = f.get(po);
|
|
|
|
values[i] = f.get(po);
|
|
|
|
if (f.getType() == String.class) {
|
|
|
|
|
|
|
|
valueSql.append("'");
|
|
|
|
|
|
|
|
valueSql.append(value);
|
|
|
|
|
|
|
|
valueSql.append("'");
|
|
|
|
|
|
|
|
} else if (f.getType() == Boolean.class || f.getType() == boolean.class) {
|
|
|
|
|
|
|
|
valueSql.append("'");
|
|
|
|
|
|
|
|
valueSql.append(String.valueOf(value));
|
|
|
|
|
|
|
|
valueSql.append("'");
|
|
|
|
|
|
|
|
} else if (f.getType() == Byte.class || f.getType() == byte.class ||
|
|
|
|
|
|
|
|
f.getType() == Short.class || f.getType() == short.class ||
|
|
|
|
|
|
|
|
f.getType() == Character.class || f.getType() == char.class ||
|
|
|
|
|
|
|
|
f.getType() == Integer.class || f.getType() == int.class ||
|
|
|
|
|
|
|
|
f.getType() == Long.class || f.getType() == long.class) {
|
|
|
|
|
|
|
|
valueSql.append("'");
|
|
|
|
|
|
|
|
valueSql.append(value);
|
|
|
|
|
|
|
|
valueSql.append("'");
|
|
|
|
|
|
|
|
} else if (f.getType() == Float.class || f.getType() == float.class ||
|
|
|
|
|
|
|
|
f.getType() == Double.class || f.getType() == double.class) {
|
|
|
|
|
|
|
|
valueSql.append("'");
|
|
|
|
|
|
|
|
valueSql.append(value);
|
|
|
|
|
|
|
|
valueSql.append("'");
|
|
|
|
|
|
|
|
} else if (f.getType() == Byte[].class || f.getType() == byte[].class) {
|
|
|
|
|
|
|
|
valueSql.append("'");
|
|
|
|
|
|
|
|
valueSql.append(value);
|
|
|
|
|
|
|
|
valueSql.append("'");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (i != fs.size() - 1) {
|
|
|
|
if (i != fs.size() - 1) {
|
|
|
|
fieldsSql.append(",");
|
|
|
|
fieldsSql.append(",");
|
|
|
|
valueSql.append(",");
|
|
|
|
valueSql.append(",");
|
|
|
@ -138,7 +113,7 @@ public class ObjectClient extends Client {
|
|
|
|
sql.append(valueSql);
|
|
|
|
sql.append(valueSql);
|
|
|
|
sql.append(")");
|
|
|
|
sql.append(")");
|
|
|
|
System.out.println("SQL ==> " + sql.toString());
|
|
|
|
System.out.println("SQL ==> " + sql.toString());
|
|
|
|
return executeUpdate(sql.toString());
|
|
|
|
return executeUpdate(sql.toString(), values);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} catch (IllegalAccessException e) {
|
|
|
|
} catch (IllegalAccessException e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
e.printStackTrace();
|
|
|
@ -180,47 +155,21 @@ public class ObjectClient extends Client {
|
|
|
|
if (aClass == null) {
|
|
|
|
if (aClass == null) {
|
|
|
|
System.err.println(poClass.getName() + " not found.");
|
|
|
|
System.err.println(poClass.getName() + " not found.");
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
|
|
|
|
//获取字段列表
|
|
|
|
|
|
|
|
List<Field> fs = getFields(poClass);
|
|
|
|
|
|
|
|
|
|
|
|
StringBuffer sql = new StringBuffer();
|
|
|
|
StringBuffer sql = new StringBuffer();
|
|
|
|
|
|
|
|
Object[] values = new Object[fs.size()];
|
|
|
|
sql.append("UPDATE ");
|
|
|
|
sql.append("UPDATE ");
|
|
|
|
sql.append(aClass.getSimpleName());
|
|
|
|
sql.append(aClass.getSimpleName());
|
|
|
|
sql.append(" SET ");
|
|
|
|
sql.append(" SET ");
|
|
|
|
|
|
|
|
|
|
|
|
//获取字段列表
|
|
|
|
|
|
|
|
List<Field> fs = getFields(poClass);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < fs.size(); i++) {
|
|
|
|
for (int i = 0; i < fs.size(); i++) {
|
|
|
|
Field f = fs.get(i);
|
|
|
|
Field f = fs.get(i);
|
|
|
|
f.setAccessible(true);
|
|
|
|
f.setAccessible(true);
|
|
|
|
sql.append(f.getName());
|
|
|
|
sql.append(f.getName());
|
|
|
|
sql.append(" = ");
|
|
|
|
sql.append(" = ?");
|
|
|
|
|
|
|
|
values[i] = f.get(po);
|
|
|
|
Object value = f.get(po);
|
|
|
|
|
|
|
|
if (f.getType() == String.class) {
|
|
|
|
|
|
|
|
sql.append("'");
|
|
|
|
|
|
|
|
sql.append(value);
|
|
|
|
|
|
|
|
sql.append("'");
|
|
|
|
|
|
|
|
} else if (f.getType() == Boolean.class || f.getType() == boolean.class) {
|
|
|
|
|
|
|
|
sql.append("'");
|
|
|
|
|
|
|
|
sql.append(String.valueOf(value));
|
|
|
|
|
|
|
|
sql.append("'");
|
|
|
|
|
|
|
|
} else if (f.getType() == Byte.class || f.getType() == byte.class ||
|
|
|
|
|
|
|
|
f.getType() == Short.class || f.getType() == short.class ||
|
|
|
|
|
|
|
|
f.getType() == Character.class || f.getType() == char.class ||
|
|
|
|
|
|
|
|
f.getType() == Integer.class || f.getType() == int.class ||
|
|
|
|
|
|
|
|
f.getType() == Long.class || f.getType() == long.class) {
|
|
|
|
|
|
|
|
sql.append("'");
|
|
|
|
|
|
|
|
sql.append(value);
|
|
|
|
|
|
|
|
sql.append("'");
|
|
|
|
|
|
|
|
} else if (f.getType() == Float.class || f.getType() == float.class ||
|
|
|
|
|
|
|
|
f.getType() == Double.class || f.getType() == double.class) {
|
|
|
|
|
|
|
|
sql.append("'");
|
|
|
|
|
|
|
|
sql.append(value);
|
|
|
|
|
|
|
|
sql.append("'");
|
|
|
|
|
|
|
|
} else if (f.getType() == Byte[].class || f.getType() == byte[].class) {
|
|
|
|
|
|
|
|
sql.append("'");
|
|
|
|
|
|
|
|
sql.append(value);
|
|
|
|
|
|
|
|
sql.append("'");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (i != fs.size() - 1) {
|
|
|
|
if (i != fs.size() - 1) {
|
|
|
|
sql.append(",");
|
|
|
|
sql.append(",");
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -236,7 +185,7 @@ public class ObjectClient extends Client {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
System.out.println("SQL ==> " + sql.toString());
|
|
|
|
System.out.println("SQL ==> " + sql.toString());
|
|
|
|
return executeUpdate(sql.toString());
|
|
|
|
return executeUpdate(sql.toString(), values);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} catch (IllegalAccessException e) {
|
|
|
|
} catch (IllegalAccessException e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
e.printStackTrace();
|
|
|
@ -348,9 +297,12 @@ public class ObjectClient extends Client {
|
|
|
|
} else if (f.getType() == Byte[].class || f.getType() == byte[].class) {
|
|
|
|
} else if (f.getType() == Byte[].class || f.getType() == byte[].class) {
|
|
|
|
byte[] v = resultSet.getBytes(f.getName());
|
|
|
|
byte[] v = resultSet.getBytes(f.getName());
|
|
|
|
f.set(o, v);
|
|
|
|
f.set(o, v);
|
|
|
|
|
|
|
|
} else if (f.getType() == Date.class) {
|
|
|
|
|
|
|
|
Date v = resultSet.getDate(f.getName());
|
|
|
|
|
|
|
|
f.set(o, v);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
String string = resultSet.getString(f.getName());
|
|
|
|
String v = resultSet.getString(f.getName());
|
|
|
|
f.set(o, string);
|
|
|
|
f.set(o, v);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
rsList.add(o);
|
|
|
|
rsList.add(o);
|
|
|
|