📄 abstractinsertsql.java
字号:
package org.speedframework.sql;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import org.speedframework.exception.SpeedFrameworkException;
import org.speedframework.utilities.PropertiesUtil;
import org.speedframework.utilities.StringUtils;
/**
* @author lizf
* @version 1.0
* @created 31-ʮ��-2007 17:19:29
*/
public abstract class AbstractInsertSQL extends AbstractCommonSQL implements
IInsertSQL {
public String getSQL() {
StringBuffer ins_sql = new StringBuffer();
StringBuffer value_sql = new StringBuffer();
List keyList = new ArrayList();
try {
ins_sql.append("insert into " + this.getTableName() + "(");
value_sql.append("(");
Field[] fields = this.tableObject.getClass().getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
String column_ = StringUtils.getField(fields[i]);
if (!column_.toLowerCase().equals("serialversionuid")) {
Object value = PropertiesUtil.getProperty(this.tableObject,
column_);
if ((value != null) && !value.toString().equals("")) {
keyList.add(column_);
}
}
}
for (int i = 0; i < keyList.size(); i++) {
if (i < (keyList.size() - 1)) {
ins_sql.append(keyList.get(i).toString() + ",");
value_sql.append("?,");
} else {
ins_sql.append(keyList.get(i).toString() + ")");
value_sql.append("?)");
}
}
ins_sql.append(" values " + value_sql.toString());
} catch (Exception e) {
e.printStackTrace();
}
return ins_sql.toString();
}
public List getParam(String SQL) {
SQL = SQL.toLowerCase();
String body = SQL.substring(SQL.indexOf("(") + 1, SQL.indexOf(")"));
String[] bodys = SQL.split("values");
String parms = bodys[bodys.length - 1];
String sub_parm = parms.substring(parms.indexOf("(") + 1, parms
.lastIndexOf(")"));
List parm_list = new ArrayList();
String[] column_body = body.split(",");
String[] parm_ = sub_parm.split(",");
for (int i = 0; i < parm_.length; i++) {
String column_ = parm_[i].trim();
if (column_.indexOf("(") != -1) {
for (int turn = 0; turn < parm_.length; turn++) {
if (!StringUtils.checkMatching(column_)) {
column_ = column_ + "," + parm_[i + 1];
i = i + 1;
continue;
} else {
parm_list.add(column_);
column_ = null;
break;
}
}
} else {
parm_list.add(column_);
column_ = null;
}
}
if (column_body.length != parm_list.size()) {
throw new SpeedFrameworkException(
"SQL Error:column not match the value-->" + SQL);
}
List set_list = new ArrayList();
for (int i = 0; i < column_body.length; i++) {
if (parm_list.get(i).toString().indexOf("?") != -1) {
set_list.add(column_body[i]);
}
}
return set_list;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -