📄 simpleentitytable.java.svn-base
字号:
package jm.framework.util;
import java.util.Iterator;
import java.util.Map;
import jm.dbo.JMDBOConntionCall;
import jm.dbo.JMDBOOutKeyValue;
import jm.dbo.JMDBOTable;
import jm.entity.CommandDBKeys;
import jm.util.JM2DArray;
import jm.util.JMCheck;
import jm.util.JMEntity;
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.3
* @see JDK 1.5.0.6
*/
@SuppressWarnings("unchecked")
public class SimpleEntityTable extends JMDBOTable implements CommandDBKeys{
public static final String NAME_SPLIT = ".E";
private JMDBOConntionCall conntion_ = null;
private DBInValue value_ = null;
private JMEntity entity_ = null;
/**
* ʹ�ñ���4����
* @param entityName
*/
public SimpleEntityTable(String entityName) {
this(entityName, false);
}
public SimpleEntityTable(String entityName, boolean useEntity) {
super(entityName, "");
value_ = DBConfig.getSQLDefaultInKey();
try{
entity_ = (JMEntity)Class.forName(PATH_ENTITY+entityName).newInstance();
}catch(Exception e){
}
value_.setEntityName(PATH_ENTITY+entityName);
value_.setUseEntity(useEntity);
}
/**
* ʹ��Entity��4����
* @param entity
*/
public SimpleEntityTable(JMEntity entity) {
this(entity, false);
}
public SimpleEntityTable(JMEntity entity, boolean useEntity) {
super((entity.getClass().getName().split(NAME_SPLIT)[1]), "");
value_ = DBConfig.getSQLDefaultInKey();
entity_ = entity;
value_.setEntityName("" + entity.getClass().getName());
value_.setUseEntity(useEntity);
}
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(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(SVC_SELECT);
value_.setSQLID(sql.toString());
//System.out.println("select==" + value_.getSQLID());
return execute(value_);
}
// /**
// * ʹ����ʱ�?�?���ѯʱ��ĵ�һ��������
// * @param sqlWhere
// * @param iParameter
// * @return
// * @throws Exception
// */
// public DBOutValue selectUseTempTable(String userID,JM2DArray iParameter) throws Exception {
// //�����ѯ���
// String Field = "Field";
// StringBuffer sql = new StringBuffer("insert into "+CommandSYKeys.DBTABLE_TEMP+" ");
// String[] filds = entity_.getItems().split(JMEntity.SPLIT);
//
// sql.append(" (");
// sql.append(CommandSYKeys.DB_KEY_SM000000_TABLEDID);
// sql.append(",");
// sql.append(CommandSYKeys.DB_KEY_SM000000_LIPADDRESS);
// sql.append(",");
// sql.append(CommandSYKeys.DB_KEY_SM000000_LINEKEY);
// sql.append(",");
//
// //Field0,Field1
// StringBuffer sqlField = new StringBuffer();
// for(int i=0;i<filds.length;i++){
// sqlField.append(Field+i);
// if(i!=filds.length-1)
// sqlField.append(",");
// }
// sql.append(sqlField+") ");
// sql.append("select '"+
// (entity_.getClass().getName().split(NAME_SPLIT)[1])+
// "', '" +
// userID+
// "', "+
// "?, ");
//
//
// for(int i=0;i<filds.length;i++){
// sql.append(filds[i] +" as " + (Field+i));
// if(i!=filds.length-1)
// sql.append(",");
// }
// sql.append(" from ");
// sql.append((entity_.getClass().getName().split(NAME_SPLIT)[1]));
// sql.append(" where " + sqlWhere);
//
// value_.setStrType(SVC_INSERT);
// value_.setSQLID(sql.toString());
// JM2DArray _iParameter = new JM2DArray();
// for (int i = 0; i < iParameter.rowCount(); i++) {
// _iParameter.addItem(SimpleEntityTable.SVC_DB_PARAM+1, iParameter.getStringValue(i, 0));
// _iParameter.addItem(SimpleEntityTable.SVC_DB_PARAM+2, iParameter.getStringValue(i, 0));
// _iParameter.nextRow();
// }
// value_.setUpParameter(_iParameter);
////System.out.println("selectIntoTempTable.insert._iParameter==" + _iParameter);
////System.out.println("selectIntoTempTable.insert==" + value_.getSQLID());
// DBOutValue out = execute(value_);
// if(!out.getResult()){
// return out;
// }
//
// StringBuffer sql2 =new StringBuffer(" from "+CommandSYKeys.DBTABLE_TEMP+" where ");
// sql2.append(CommandSYKeys.DB_KEY_SM000000_TABLEDID);
// sql2.append(" = '" + (entity_.getClass().getName().split(NAME_SPLIT)[1]) + "' ");
// sql2.append(" and ");
// sql2.append(CommandSYKeys.DB_KEY_SM000000_LIPADDRESS);
// sql2.append(" = '" + GameManager.getInstance().getUserBean().getIpAddress() + "' ");
//
// //���ز�ѯ���
// sql = new StringBuffer("select "+sqlField+sql2);
// value_.setStrType(SVC_SELECT);
// value_.setSQLID(sql.toString());
////System.out.println("selectIntoTempTable.select==" + value_.getSQLID());
// boolean useEntity = value_.isUseEntity();
// value_.setUseEntity(false);
// out = execute(value_);
// if(!out.getResult()){
// return out;
// }
////System.out.println("resultData########==" + out.getResultMessage());
////System.out.println("resultData########==" + out.getResultCount());
// //��ݱ�����ʽ�任
// if(useEntity){
// JMVector oResult = new JMVector(50);
// JMEntity entityClass = null;
// JM2DArray resultData = out.getResultData();
// for (int r = 0; r < resultData.rowCount(); r++) {
// entityClass = (JMEntity)Class.forName(value_.getEntityName()).newInstance();
// JMUtility.reflectIntoEntity2(entityClass,resultData,r);
// oResult.add(entityClass);
// }
// out.setResultData(null);
// out.setResultList(oResult);
// }
//
//// */*/**/*/*/*/*/*/*/*/*/
//
// //ɾ����ʱ���
// sql = new StringBuffer("delete " +sql2);
// value_.setStrType(SVC_DELETE);
// value_.setSQLID(sql.toString());
////System.out.println("selectIntoTempTable.delete==" + value_.getSQLID());
// if(!execute(value_).getResult()){
// System.out.println(sql2);
// }
//
// return out;
// }
public DBOutValue select(String sqlWhere, String[] fields) throws Exception {
StringBuffer sql = new StringBuffer(getSQLFirst(fields));
// where
if (!JMCheck.isNull(sqlWhere)) {
sql.append(" where " + sqlWhere);
} else {
sqlWhere = getSQLWhere();
if (!"".equals(sqlWhere)) {
sql.append(" where " + sqlWhere);
}
}
value_.setStrType(SVC_SELECT);
value_.setSQLID(sql.toString());
//System.out.println("select==" + value_.getSQLID());
return execute(value_);
}
public DBOutValue select(String sqlWhere, String orderby, String[] fields)
throws Exception {
StringBuffer sql = new StringBuffer(getSQLFirst(fields));
// where
if (!JMCheck.isNull(sqlWhere)) {
sql.append(" where " + sqlWhere);
} else {
sqlWhere = getSQLWhere();
if (!"".equals(sqlWhere)) {
sql.append(" where " + sqlWhere);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -