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

📄 simpledbtable.java

📁 梦界家园程序开发基底框架
💻 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.log.Logger;
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
 */
public class SimpleDBTable extends JMDBOTable {
    // 掕悢
    /** 儕僜乕僗僼傽僀儖柤 */
    private final String CLASS_NAME = "SimpleDBTable";

    protected Logger loger_ = null;

    private JMDBOConntionCall conntion_ = null;

    private DBInValue value_ = null;

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

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

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

    public void setLocalConntion () {
        this.value_ = JMDBOConfig.getSQLLocalInKey();
    }

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

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

    // DBSQLCreat sqlCreat = null;
    // SQL 处理机制
    public DBOutValue select (String[] fields, JMMap<String, String> 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 () throws Exception {
        return select(null, "");
    }

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

    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<String> colNames = iParameter.getColNames();
//        if(useEntity){
//            try {
//                JMEntity entity = (JMEntity) Class.forName(
//                        DBCommandKeys.PATH_ENTITY + this.getName()
//                                  ).newInstance();
//                JMVector<String> temp = JMUtility.toJMVector(entity.getItems());
//                if (colNames.size() == temp.size()) {
//                    colNames = temp;
//                }
//            } catch (Exception e) {
//            }
//        }
        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("insert=="+value_.getSQLID());
System.out.println("insert=="+iParameter);
        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<String, String> 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<String> colNames = iParameter.getColNames();
            StringBuffer sqlWhere = new StringBuffer();
            boolean addG = false;
            int i = 0;
            for (String name : colNames) {
                if (addG) {
                    sqlWhere.append(" and ");
                }
                addG = true;
                sqlWhere.append(name + " = " + "'" + iParameter.getStringValue(0, i)
                                + "'");
                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<String, String> 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 {

        // 儊儞僶曄悢偵僙僢僩
        loger_ = Logger.instance(CLASS_NAME);
        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.setList(_result.getList());
        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 + -