📄 sqlutils.java
字号:
package com.szhelper.lotteryWeb.common.utils;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
public class SQLUtils {
public static final String UNDO = "Undo";
public static Object[] generateInsert(Object obj, String tableName,
String keyColumn) {
StringBuffer columnSB = new StringBuffer();
StringBuffer paramSB = new StringBuffer();
List params = new ArrayList();
List fieldList = ReflectionUtils.findNotNullField(obj);
try {
for (int i = 0; i < fieldList.size(); i++) {
Field field = (Field) fieldList.get(i);
field.setAccessible(true);
if (field.getName().equals(keyColumn))
continue;
if (field.getName().endsWith(UNDO))
continue;
columnSB.append(field.getName());
if (i != fieldList.size() - 1) {
columnSB.append(",");
}
paramSB.append("?");
if (i != fieldList.size() - 1) {
paramSB.append(",");
}
params.add(field.get(obj));
}
} catch (Exception e) {
throw new RuntimeException(e);
}
StringBuffer sb = new StringBuffer();
sb.append("insert into ");
sb.append(tableName);
sb.append(" (");
sb.append(columnSB);
sb.append(") ");
sb.append("values");
sb.append(" (");
sb.append(paramSB);
sb.append(")");
System.out.println(sb.toString());
return new Object[] { sb.toString(), params.toArray() };
}
public static Object[] generateUpdate(Object obj, String tableName,
String keyColumn) {
StringBuffer columnSB = new StringBuffer();
List params = new ArrayList();
Object keyValue = null;
List fieldList = ReflectionUtils.findNotNullField(obj);
try {
for (int i = 0; i < fieldList.size(); i++) {
Field field = (Field) fieldList.get(i);
field.setAccessible(true);
if (field.getName().endsWith(UNDO))
continue;
if (field.getName().equals(keyColumn)) {
keyValue = field.get(obj);
} else {
columnSB.append(field.getName());
columnSB.append("=?");
if (i != fieldList.size() - 1) {
columnSB.append(",");
}
params.add(field.get(obj));
}
}
} catch (Exception e) {
throw new RuntimeException(e);
}
if (keyValue == null) {
throw new IllegalArgumentException("key value for table '"
+ tableName + "' cannot be null.");
} else {
params.add(keyValue);
}
StringBuffer sb = new StringBuffer();
sb.append("update ");
sb.append(tableName);
sb.append(" set ");
sb.append(columnSB);
sb.append(" ");
sb.append("where ");
sb.append(keyColumn);
sb.append("=?");
System.out.println(sb.toString());
return new Object[] { sb.toString(), params.toArray() };
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -