retrievecriteria.java

来自「根据Scott W. Ambler在1998年写的关于ORM Persisten」· Java 代码 · 共 91 行

JAVA
91
字号
package pl.criteria;

import pl.map.*;


/**
 *
 */
public class RetrieveCriteria extends PersistentCriteria
{


    /**
     * Creates RetrieveCriteria.
     *
     * @param cl target class for this criteria
     */
    public RetrieveCriteria(Class cl)
    {
        super(cl);

    }

    /**
     * Creates RetrieveCriteria.
     *
     * @param className name of the target class for this criteria
     */
    public RetrieveCriteria(String className)
    {
        super(className);

    }

    /**
     * Creates a copy of persistent criteria.
     *
     * @param criteria source criteria
     */
    public RetrieveCriteria(PersistentCriteria criteria)
    {
        super(criteria);
    }

    /**
     * Creates RetrieveCriteria.
     *
     * @param classMap class map for this criteria
     */
    public RetrieveCriteria(ClassMap classMap)
    {
        super(classMap);

    }


    /**
     * 将参数值 parameters 匹配到SQL语句中,返回完整的SqlStatement对象
     *
     * @return pl.sql.SqlStatement
     */
    public pl.sql.SqlStatement getSqlStatement(java.util.Vector parameters, boolean forProxy) throws pl.PlException
    {
        pl.sql.SqlStatement statement = null;

        statement = getClassMap().getSelectSql();
         System.out.println(" RetrieveCriteria statement 1="+statement);

        java.util.Iterator enumerationParameters = parameters.iterator();

        // Add 'FROM' clause to the select statement
        statement.addSqlClause(" " + getClassMap().getRelationalDatabase().getClauseStringFrom() + " ");
        Object[] tablesArray = getTables().toArray();
        for(int i = 0; i < tablesArray.length; i++)
        {
            TableMap tableMap = (TableMap)tablesArray[i];
            statement.addSqlClause((i > 0 ? ", " : "") + tableMap.getName());
        }
         System.out.println(" RetrieveCriteria statement 2="+statement);

        // Fill statement with WHERE condition
        fillStatementWithWhere(statement, enumerationParameters);

        System.out.println(" RetrieveCriteria statement 3="+statement);

        return statement;
    }


}

⌨️ 快捷键说明

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