⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 simpledbtable.java

📁 MSN客服自动化机器人
💻 JAVA
字号:
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.JMMap;
import jm.util.JMVector;

/**
 *
 * <p>Title: JM ���Swing�ؼ���ʹ��������Ϣ</p>
 *
 * <p>Copyright: Copyright (c) 2004-2006</p>
 *
 * <p>Company: 1SHome</p>
 *
 * <p>@author Spook</p>
 *
 * @since 1.3.2
 * @see JDK 1.5.0.6
 */
@SuppressWarnings("unchecked")
public class SimpleDBTable extends JMDBOTable implements CommandDBKeys{
    // �萔
    /** ���\�[�X�t�@�C���� */
    private final String CLASS_NAME = "SimpleDBTable";

    private JMDBOConntionCall conntion_ = null;

    private DBInValue value_ = null;

    public SimpleDBTable () {
        this("");
    }

    public SimpleDBTable (String name) {
        super(name, "");
        this.value_ = DBConfig.getSQLDefaultInKey();
    }

    public SimpleDBTable (String name,boolean useEntity) {
        super(name, "");
        this.value_ = DBConfig.getSQLDefaultInKey();
        this.value_.setUseEntity(useEntity);
    }

    // ///////////////////////////////////////////////////////////////
    private int queryMaxCount = 0; // ��ѯ/����/���´���������

    public int getQueryMaxCount () {
        return queryMaxCount;
    }

    public boolean isUseEntity () {
        return value_.isUseEntity();
    }

    public void setQueryMaxCount (int queryMaxCount) {
        this.queryMaxCount = queryMaxCount;
    }

    public void setEntityName (String entityName) {
        this.value_.setEntityName(PATH_ENTITY+entityName);
    }

    public void setUseEntity (boolean useEntity) {
        this.value_.setUseEntity(useEntity);
    }

    // DBSQLCreat sqlCreat = null;
    // SQL �������
    public DBOutValue select (String[] fields, JMMap paramters) throws Exception {

        StringBuffer sql = new StringBuffer(getSQLFirst(fields));

        if (paramters != null && paramters.size() != 0) {
            // where
            StringBuffer sqlWhere = new StringBuffer();
            boolean addG = false;
            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 ");
                    }
                    addG = true;
                    sqlWhere.append(mpField.getKey() + " = " + "'" + mpField.getValue()
                                    + "'");
                }
            }
            if (sqlWhere.length() > 0) {
                sql.append(" where " + sqlWhere);
            }
        }

        value_.setSQLFree(true);
        value_.setSQLID(sql.toString());
        value_.setStrType(DBInValue.SVC_SELECT);
System.out.println("select=="+sql.toString());

        return execute(value_);
    }
    
    public DBOutValue select (String sql) throws Exception {
        value_.setStrType(DBInValue.SVC_SELECT);
        value_.setSQLID(sql);
System.out.println("select=="+sql);

        return execute(value_);
    }
    
    public DBOutValue select () throws Exception {
        return select(new String[0]);
    }

    public DBOutValue select (String[] fields) throws Exception {
        return select(fields, new String[0]);
    }

    public DBOutValue select (String[] fields, String[] param) throws Exception {
        StringBuffer sql = new StringBuffer(getSQLFirst(fields));
        // where
        if (param != null && param.length > 0 && !JMCheck.isNull(param[0])) {
            sql.append(" where " + param[0]);
        }
        // order
        if (param != null && param.length > 1 && !JMCheck.isNull(param[1])) {
            sql.append(" order by " + param[1]);
        }
        // group
        if (param != null && param.length > 2 && !JMCheck.isNull(param[2])) {
            sql.append(" group by " + param[2]);
        }
        value_.setStrType(DBInValue.SVC_SELECT);
        value_.setSQLID(sql.toString());
System.out.println("select=="+sql.toString());

        return execute(value_);
    }

    public DBOutValue insert (JM2DArray iParameter) throws Exception {
        StringBuffer sql = new StringBuffer();
        StringBuffer sqlParam = new StringBuffer();
        // insert
        sql.append(" insert into ");
        // from
        sql.append(" " + this.getName() + " (");
        JMVector colNames = iParameter.getColNames();
//        if(useEntity){
//            try {
//                JMEntity entity = (JMEntity) Class.forName(
//                        DBCommandKeys.PATH_ENTITY + this.getName()
//                                  ).newInstance();
//                JMVector temp = JMUtility.toJMVector(entity.getItems());
//                if (colNames.size() == temp.size()) {
//                    colNames = temp;
//                }
//            } catch (Exception e) {
//            }
//        }
        boolean addG = false;
        for (int i=0;i< colNames.size();i++) {
            if (addG) {
                sql.append(" , ");
                sqlParam.append(" , ");
            } else {
                addG = true;
            }
            sql.append(colNames.get(i));
            sqlParam.append(" ? ");
        }

        value_.setStrType(DBInValue.SVC_INSERT);
        value_.setSQLID(sql + " ) values ( " + sqlParam + " )");
        value_.setUpParameter(iParameter);
System.out.println("insert=iParameter="+iParameter);
System.out.println("insert=SQLID="+value_.getSQLID());
        return execute(value_);
    }

//    public DBOutValue insert (JM2DArray iParameter,String[] fields) throws Exception {
//        StringBuffer sql = new StringBuffer();
//        StringBuffer sqlParam = new StringBuffer();
//        // insert
//        sql.append(" insert into ");
//        // from
//        sql.append(" " + this.getName() + " (");
//
//        boolean addG = false;
//        for (String name : fields) {
//            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(value_.getSQLID());
////System.out.println(iParameter);
//        return execute(value_);
//    }

    public DBOutValue update (JMMap paramters, String sqlWhere) throws Exception {
        StringBuffer sql = new StringBuffer();

        // delete
        sql.append(" update ");
        // from
        sql.append(" " + this.getName() + " ");
        // set
        sql.append(" set ");

        boolean addG = false;
        Iterator it = paramters.entrySet().iterator();
        while (it.hasNext()) {
            Map.Entry mpField = (Map.Entry) it.next();
            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 delete () throws Exception {
        StringBuffer sql = new StringBuffer(" delete from " + this.getName() + " ");

        value_.setStrType(DBInValue.SVC_DELETE);
        value_.setSQLID(sql.toString());
System.out.println("delete=="+sql);
        return execute(value_);
    }

    public DBOutValue delete (String sqlWhere) throws Exception {
        if (!JMCheck.isNull(sqlWhere)) {
            StringBuffer sql = new StringBuffer(" delete from " + this.getName() + " ");
            sql.append(" where " + sqlWhere);
            value_.setStrType(DBInValue.SVC_DELETE);
            value_.setSQLID(sql.toString());

            return execute(value_);
        }
        DBOutValue out = new DBOutValue();
        out.setResult(true);
        return out;
    }

    public DBOutValue delete (JM2DArray iParameter) throws Exception {
        if (iParameter != null && iParameter.rowCount() != 0 && iParameter.colCount() != 0) {
            StringBuffer sql = new StringBuffer(" delete from " + this.getName() + " ");
            JMVector colNames = iParameter.getColNames();
            StringBuffer sqlWhere = new StringBuffer();
            boolean addG = false;

            for (int i=0;i< colNames.size();i++) {
                if (addG) {
                    sqlWhere.append(" and ");
                }
                addG = true;
                sqlWhere.append(colNames.get(i) + " = " + "'" + iParameter.getStringValue(0, i)
                                + "'");
            }
            sql.append(" where " + sqlWhere);
            value_.setStrType(DBInValue.SVC_DELETE);
            value_.setSQLID(sql.toString());

            return execute(value_);
        }
        DBOutValue out = new DBOutValue();
        out.setResult(true);
        return out;
    }

    public DBOutValue delete (JMMap iParameter) throws Exception {

        if (iParameter != null && iParameter.size() != 0) {
            StringBuffer sql = new StringBuffer(" delete from " + this.getName() + " ");
            // where
            StringBuffer sqlWhere = new StringBuffer();
            boolean addG = false;
            Iterator it = iParameter.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()
                                    + "'");
                }
            }
            sql.append(" where " + sqlWhere);
            value_.setStrType(DBInValue.SVC_DELETE);
            value_.setSQLID(sql.toString());

            return execute(value_);
        }
        DBOutValue out = new DBOutValue();
        out.setResult(true);
        return out;
    }

    // //////////////////////////////////////////////////////////////////////////////
    /**
     * 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.setResultList(_result.getResultList());
        result.setResultMessage(_result.getResultMessage());

        return result;
    }

    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();
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -