📄 sqlutils.java
字号:
package com.xxxxx.common.utils;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
public class SQLUtils {
public static Object[] generateInsert(Object obj, String tableName) {
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);
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(")");
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().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("=?");
return new Object[] { sb.toString(), params.toArray() };
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -