wangbing 5 years ago
parent 14160a2cec
commit 2c7f0fb3f0

@ -195,7 +195,7 @@ public class ObjectClient extends Client {
return 0;
}
public <T> List<T> select(Class<T> poClass, int pageNumber, int pageSize, String... wheres) throws SQLException, ClassNotFoundException {
public <T> List<T> select(Class<T> poClass, int pageNumber, int pageSize, T po, String... wheres) throws SQLException, ClassNotFoundException {
ArrayList<T> list = new ArrayList<>();
try {
Class aClass = classMap.get(poClass.getName());
@ -207,6 +207,8 @@ public class ObjectClient extends Client {
//获取字段列表
List<Field> fs = getFields(poClass);
List<String> poWhere = new ArrayList();
List<Object> args = new ArrayList();
for (int i = 0; i < fs.size(); i++) {
Field f = fs.get(i);
@ -214,15 +216,23 @@ public class ObjectClient extends Client {
if (i != fs.size() - 1) {
sql.append(",");
}
if (po != null) {
if (f.get(po) != null) {
poWhere.add(" " + f.getName().toUpperCase() + " = ? ");
args.add(f.get(po));
}
}
}
sql.append(" FROM ");
sql.append(aClass.getSimpleName());
poWhere.addAll(Arrays.asList(wheres));
//条件参数
if (wheres.length > 0) {
if (poWhere.size() + wheres.length > 0) {
sql.append(" WHERE ");
for (int i = 0; i < wheres.length; i++) {
for (int i = 0; i < poWhere.size(); i++) {
String where = wheres[i];
sql.append(where);
sql.append(i != wheres.length - 1 ? " AND " : "");
@ -235,8 +245,10 @@ public class ObjectClient extends Client {
}
System.out.println("SQL ==> " + sql.toString());
list.addAll(executeQuery(sql.toString(), poClass));
list.addAll(executeQuery(poClass, sql.toString(), args));
}
} catch (IllegalAccessException e) {
e.printStackTrace();
} finally {
destroyed();
}
@ -252,10 +264,10 @@ public class ObjectClient extends Client {
* @throws SQLException
* @throws ClassNotFoundException
*/
public <T> List<T> executeQuery(String sql, Class<T> poClass) throws SQLException, ClassNotFoundException {
public <T> List<T> executeQuery(Class<T> poClass, String sql, Object... args) throws SQLException, ClassNotFoundException {
List<T> rsList = new ArrayList<T>();
try {
resultSet = executeQuery(sql);
resultSet = executeQuery(sql, args);
//获取字段列表
List<Field> fs = getFields(poClass);

@ -0,0 +1,35 @@
package xyz.wbsite.wsqlite;
import java.util.ArrayList;
import java.util.List;
public class Where {
public static Builder builder() {
return new Builder();
}
public static class Builder {
private StringBuilder sb = new StringBuilder();
private List<Object> args = new ArrayList<>();
public Builder eq(boolean condition,String name, Object value) {
if (condition){
sb.append(name).append("=? ");
}
return this;
}
public Builder like(boolean condition,String name, Object value) {
return this;
}
public Builder isNull(boolean condition,String name, Object value) {
return this;
}
}
}
Loading…
Cancel
Save

Powered by TurnKey Linux.