📄 simpleentitytable.java
字号:
package jm.framework.util;
import java.util.Iterator;
import java.util.Map;
import jm.dbo.JMDBOConfig;
import jm.dbo.JMDBOConntionCall;
import jm.dbo.JMDBOOutKeyValue;
import jm.dbo.JMDBOTable;
import jm.framework.gui.JMEntity;
import jm.util.JM2DArray;
import jm.util.JMCheck;
import jm.util.JMMap;
import jm.util.JMUtility;
import jm.util.JMVector;
/**
* <p>使用Entity检索数据</p>
*
* <p>Copyright: Copyright (c) 2004-2006</p>
*
* <p>Company: 1SHome</p>
*
* <p>@author Spook</p>
*
* @since 1.3
* @see JDK 1.5.0.6
*/
public class SimpleEntityTable extends JMDBOTable {
private JMDBOConntionCall conntion_ = null;
private DBInValue value_ = null;
private JMEntity entity_ = null;
public SimpleEntityTable (JMEntity entity) {
super((entity.getClass().getSimpleName()).substring(1), "");
value_ = JMDBOConfig.getSQLDefaultInKey();
entity_ = entity;
}
public void setLocalConntion () {
value_ = JMDBOConfig.getSQLLocalInKey();
}
public DBOutValue select () throws Exception {
StringBuffer sql = new StringBuffer();
sql.append(" select * ");
// from
sql.append(" from " + this.getName() + " ");
// where
String sqlWhere = getSQLWhere();
if (!"".equals(sqlWhere)) {
sql.append(" where " + sqlWhere);
}
value_.setStrType(DBInValue.SVC_SELECT);
value_.setSQLID(sql.toString());
System.out.println("select=="+value_.getSQLID());
return execute(value_);
}
public String getSQLWhere (JMEntity entity) {
JMMap paramters = new JMMap();
StringBuffer sqlWhere = new StringBuffer();
JMUtility.reflectIntoJMMap(entity, paramters);
Iterator it = paramters.entrySet().iterator();
boolean addG = false;
while (it.hasNext()) {
Map.Entry mpField = (Map.Entry) it.next();
if (!JMCheck.isNull(mpField.getValue())) {
if (addG) {
sqlWhere.append(" and ");
} else {
addG = true;
}
sqlWhere.append(mpField.getKey() + " = " + "'" + mpField.getValue() + "'");
}
}
return "" + sqlWhere;
}
public String getSQLWhere () {
return getSQLWhere(entity_);
}
private String getSQLFirst (String[] fields) {
StringBuffer sql = new StringBuffer("select ");
boolean addG = false;
if (fields == null || fields.length == 0) {
sql.append(" * ");
} else {
for (int i = 0; i < fields.length; i++) {
if (addG) {
sql.append(" , ");
} else {
addG = true;
}
sql.append(fields[i]);
}
}
// from
sql.append(" from " + this.getName() + " ");
return sql.toString();
}
public DBOutValue select (String ...fields) throws Exception {
StringBuffer sql = new StringBuffer(getSQLFirst(fields));
// where
String sqlWhere = getSQLWhere();
if (!"".equals(sqlWhere)) {
sql.append(" where " + sqlWhere);
}
value_.setStrType(DBInValue.SVC_SELECT);
value_.setSQLID(sql.toString());
System.out.println("select=="+value_.getSQLID());
return execute(value_);
}
public DBOutValue select (String sqlWhere , String ...fields ) throws Exception {
StringBuffer sql = new StringBuffer(getSQLFirst(fields));
// where
if (!JMCheck.isNull(sqlWhere)) {
sql.append(" where " + sqlWhere);
}
value_.setStrType(DBInValue.SVC_SELECT);
value_.setSQLID(sql.toString());
System.out.println("select=="+value_.getSQLID());
return execute(value_);
}
public DBOutValue insert () throws Exception {
StringBuffer sql = new StringBuffer();
StringBuffer sqlParam = new StringBuffer();
// insert
sql.append(" insert into ");
// from
sql.append(" " + this.getName() + " (");
JM2DArray iParameter = new JM2DArray();
JMUtility.reflectIntoJM2DArray(entity_, iParameter, -1);
JMVector<String> colNames = iParameter.getColNames();
boolean addG = false;
for (String name : colNames) {
if (addG) {
sql.append(" , ");
sqlParam.append(" , ");
} else {
addG = true;
}
sql.append(name);
sqlParam.append(" ? ");
}
value_.setStrType(DBInValue.SVC_INSERT);
value_.setSQLID(sql + " ) values ( " + sqlParam + " )");
value_.setUpParameter(iParameter);
System.out.println("SQLID=="+value_.getSQLID());
System.out.println("iParameter=="+iParameter);
return execute(value_);
}
public DBOutValue update (String sqlWhere) throws Exception {
StringBuffer sql = new StringBuffer();
// delete
sql.append(" update ");
// from
sql.append(" " + this.getName() + " ");
// set
sql.append(" set ");
boolean addG = false;
JMMap paramters = new JMMap();
JMUtility.reflectIntoJMMap(entity_, paramters);
Iterator it = paramters.entrySet().iterator();
while (it.hasNext()) {
Map.Entry mpField = (Map.Entry) it.next();
if (!JMCheck.isNull(mpField.getValue())) {
if (addG) {
sql.append(" , ");
} else {
addG = true;
}
sql.append(mpField.getKey() + " = " + "'" + mpField.getValue() + "'");
}
}
if (!JMCheck.isNull(sqlWhere)) {
sql.append(" where " + sqlWhere);
}
value_.setStrType(DBInValue.SVC_UPDATE);
value_.setSQLID(sql.toString());
System.out.println("update=="+sql);
return execute(value_);
}
public DBOutValue update (JMEntity oldEntity) throws Exception {
StringBuffer sql = new StringBuffer();
// delete
sql.append(" update ");
// from
sql.append(" " + this.getName() + " ");
// set
sql.append(" set ");
boolean addG = false;
JMMap paramters = new JMMap();
JMUtility.reflectIntoJMMap(entity_, paramters);
Iterator it = paramters.entrySet().iterator();
//获得set 数据
while (it.hasNext()) {
Map.Entry mpField = (Map.Entry) it.next();
if (!JMCheck.isNull(mpField.getValue())) {
if (addG) {
sql.append(" , ");
} else {
addG = true;
}
sql.append(mpField.getKey() + " = " + "'" + mpField.getValue() + "'");
}
}
//获得where条件
if (oldEntity != null) {
// JM2DArray dataSource = new JM2DArray();
// JMUtility.reflectIntoJM2DArray(oldEntity, dataSource, -1);
// JMVector<String> colnames = dataSource.getColNames();
// addG = false;
// for (int i = 0; i < colnames.size(); i++) {
// if (!JMCheck.isNull(dataSource.getStringValue(0, i))) {
// if (addG) {
// sql.append(" and ");
// } else {
// addG = true;
// sql.append(" where ");
// }
// sql.append(colnames.get(i) + " = " + "'" + dataSource.getStringValue(0, i) + "'");
// }
// }
String sqlWhere = getSQLWhere();
if (!"".equals(sqlWhere)) {
sql.append(" where " + sqlWhere);
}
}
value_.setStrType(DBInValue.SVC_UPDATE);
value_.setSQLID(sql.toString());
System.out.println("update=="+oldEntity);
System.out.println("update=="+sql);
return execute(value_);
}
public DBOutValue delete () throws Exception {
StringBuffer sql = new StringBuffer(" delete from " + this.getName() + " ");
/////////////////////////////////////////
StringBuffer sqlWhere = new StringBuffer();
boolean addG = false;
JMMap paramters = new JMMap();
JMUtility.reflectIntoJMMap(entity_, paramters);
Iterator it = paramters.entrySet().iterator();
while (it.hasNext()) {
Map.Entry mpField = (Map.Entry) it.next();
if (!JMCheck.isNull(mpField.getValue())) {
if (addG) {
sqlWhere.append(" and ");
} else {
addG = true;
}
sqlWhere.append(mpField.getKey() + " = " + "'" + mpField.getValue() + "'");
}
}
if (addG) {
sql.append(" where " + sqlWhere);
}
value_.setStrType(DBInValue.SVC_DELETE);
value_.setSQLID(sql.toString());
System.out.println("delete=="+sql);
// if(true){
// return new DBOutValue();
// }
return execute(value_);
}
public DBOutValue delete (String where) throws Exception {
StringBuffer sql = new StringBuffer(" delete from " + this.getName() + " ");
if (!JMCheck.isNull(where)) {
sql.append(" where " + where);
}
value_.setStrType(DBInValue.SVC_DELETE);
value_.setSQLID(sql.toString());
return execute(value_);
}
// //////////////////////////////////////////////////////////////////////////////
/**
* SQL 运行
*
* @param inValue
* DBInValue
* @return DBOutValue
* @throws Exception
*/
private synchronized DBOutValue execute (DBInValue inValue) throws Exception {
conntion_ = JMDBOConntionCall.getInstance();
conntion_.setSQLFree(true);
// SQL 运行
JMDBOOutKeyValue _result = conntion_.inVoker(inValue);
DBOutValue result = new DBOutValue();
result.setResult(_result.getResult());
result.setResultCode(_result.getResultCode());
result.setResultCount(_result.getResultCount());
result.setResultData(_result.getResultData());
result.setResultMessage(_result.getResultMessage());
return result;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -