亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? criteria.java

?? 另外一種持久性o/m軟件
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
package org.apache.torque.util;/* * Copyright 2001-2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License") * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *     http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */import java.io.Serializable;import java.lang.reflect.Array;import java.math.BigDecimal;import java.util.ArrayList;import java.util.Arrays;import java.util.GregorianCalendar;import java.util.HashMap;import java.util.Hashtable;import java.util.Iterator;import java.util.List;import java.util.Map;import org.apache.commons.collections.OrderedMap;import org.apache.commons.collections.map.ListOrderedMap;import org.apache.commons.lang.StringUtils;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.apache.torque.Torque;import org.apache.torque.adapter.DB;import org.apache.torque.om.DateKey;import org.apache.torque.om.ObjectKey;/** * This is a utility class that is used for retrieving different types * of values from a hashtable based on a simple name string.  This * class is meant to minimize the amount of casting that needs to be * done when working with Hashtables. * * NOTE: other methods will be added as needed and as time permits. * * @author <a href="mailto:frank.kim@clearink.com">Frank Y. Kim</a> * @author <a href="mailto:jmcnally@collab.net">John D. McNally</a> * @author <a href="mailto:bmclaugh@algx.net">Brett McLaughlin</a> * @author <a href="mailto:eric@dobbse.net">Eric Dobbs</a> * @author <a href="mailto:hps@intermeta.de">Henning P. Schmiedehausen</a> * @author <a href="mailto:sam@neurogrid.com">Sam Joseph</a> * @author <a href="mailto:mpoeschl@marmot.at">Martin Poeschl</a> * @author <a href="mailto:fischer@seitenbau.de">Thomas Fischer</a> * @version $Id: Criteria.java,v 1.47 2005/07/02 15:22:32 tfischer Exp $ */public class Criteria extends Hashtable{    /** Comparison type. */    public static final SqlEnum EQUAL = SqlEnum.EQUAL;    /** Comparison type. */    public static final SqlEnum NOT_EQUAL = SqlEnum.NOT_EQUAL;    /** Comparison type. */    public static final SqlEnum ALT_NOT_EQUAL = SqlEnum.ALT_NOT_EQUAL;    /** Comparison type. */    public static final SqlEnum GREATER_THAN = SqlEnum.GREATER_THAN;    /** Comparison type. */    public static final SqlEnum LESS_THAN = SqlEnum.LESS_THAN;    /** Comparison type. */    public static final SqlEnum GREATER_EQUAL = SqlEnum.GREATER_EQUAL;    /** Comparison type. */    public static final SqlEnum LESS_EQUAL = SqlEnum.LESS_EQUAL;    /** Comparison type. */    public static final SqlEnum LIKE = SqlEnum.LIKE;    /** Comparison type. */    public static final SqlEnum NOT_LIKE = SqlEnum.NOT_LIKE;    /** Comparison type. */    public static final SqlEnum ILIKE = SqlEnum.ILIKE;    /** Comparison type. */    public static final SqlEnum NOT_ILIKE = SqlEnum.NOT_ILIKE;    /** Comparison type. */    public static final SqlEnum CUSTOM = SqlEnum.CUSTOM;    /** Comparison type. */    public static final SqlEnum DISTINCT = SqlEnum.DISTINCT;    /** Comparison type. */    public static final SqlEnum IN = SqlEnum.IN;    /** Comparison type. */    public static final SqlEnum NOT_IN = SqlEnum.NOT_IN;    /** Comparison type. */    public static final SqlEnum ALL = SqlEnum.ALL;    /** Comparison type. */    public static final SqlEnum JOIN = SqlEnum.JOIN;    /** &quot;Order by&quot; qualifier - ascending */    private static final SqlEnum ASC = SqlEnum.ASC;    /** &quot;Order by&quot; qualifier - descending */    private static final SqlEnum DESC = SqlEnum.DESC;    /** &quot;IS NULL&quot; null comparison */    public static final SqlEnum ISNULL = SqlEnum.ISNULL;    /** &quot;IS NOT NULL&quot; null comparison */    public static final SqlEnum ISNOTNULL = SqlEnum.ISNOTNULL;    /** &quot;CURRENT_DATE&quot; ANSI SQL function */    public static final SqlEnum CURRENT_DATE = SqlEnum.CURRENT_DATE;    /** &quot;CURRENT_TIME&quot; ANSI SQL function */    public static final SqlEnum CURRENT_TIME = SqlEnum.CURRENT_TIME;    /** &quot;LEFT JOIN&quot; SQL statement */    public static final SqlEnum LEFT_JOIN = SqlEnum.LEFT_JOIN;    /** &quot;RIGHT JOIN&quot; SQL statement */    public static final SqlEnum RIGHT_JOIN = SqlEnum.RIGHT_JOIN;      /** &quot;INNER JOIN&quot; SQL statement */    public static final SqlEnum INNER_JOIN = SqlEnum.INNER_JOIN;        private static final int DEFAULT_CAPACITY = 10;    private boolean ignoreCase = false;    private boolean singleRecord = false;    private boolean cascade = false;    private UniqueList selectModifiers = new UniqueList();    private UniqueList selectColumns = new UniqueList();    private UniqueList orderByColumns = new UniqueList();    private UniqueList groupByColumns = new UniqueList();    private Criterion having = null;    private OrderedMap asColumns = ListOrderedMap.decorate(new HashMap());    private List joins = null;    /** The name of the database. */    private String dbName;    /** The name of the database as given in the contructor. */    private String originalDbName;    /**     * To limit the number of rows to return.  <code>-1</code> means return all     * rows.     */    private int limit = -1;    /** To start the results at a row other than the first one. */    private int offset = 0;    private HashMap aliases = null;    private boolean useTransaction = false;    /** the log. */    private static Log log = LogFactory.getLog(Criteria.class);    /**     * Creates a new instance with the default capacity.     */    public Criteria()    {        this(DEFAULT_CAPACITY);    }    /**     * Creates a new instance with the specified capacity.     *     * @param initialCapacity An int.     */    public Criteria(int initialCapacity)    {        this(Torque.getDefaultDB(), initialCapacity);    }    /**     * Creates a new instance with the default capacity which corresponds to     * the specified database.     *     * @param dbName The dabase name.     */    public Criteria(String dbName)    {        this(dbName, DEFAULT_CAPACITY);    }    /**     * Creates a new instance with the specified capacity which corresponds to     * the specified database.     *     * @param dbName          The dabase name.     * @param initialCapacity The initial capacity.     */    public Criteria(String dbName, int initialCapacity)    {        super(initialCapacity);        this.dbName = dbName;        this.originalDbName = dbName;    }    /**     * Brings this criteria back to its initial state, so that it     * can be reused as if it was new. Except if the criteria has grown in     * capacity, it is left at the current capacity.     */    public void clear()    {        super.clear();        ignoreCase = false;        singleRecord = false;        cascade = false;        selectModifiers.clear();        selectColumns.clear();        orderByColumns.clear();        groupByColumns.clear();        having = null;        asColumns.clear();        joins = null;        dbName = originalDbName;        offset = 0;        limit = -1;        aliases = null;        useTransaction = false;    }    /**     * Add an AS clause to the select columns. Usage:     * <p>     * <code>     *     * Criteria myCrit = new Criteria();     * myCrit.addAsColumn(&quot;alias&quot;, &quot;ALIAS(&quot;+MyPeer.ID+&quot;)&quot;);     *     * </code>     *     * @param name  wanted Name of the column     * @param clause SQL clause to select from the table     *     * If the name already exists, it is replaced by the new clause.     *     * @return A modified Criteria object.     */    public Criteria addAsColumn(String name, String clause)    {        asColumns.put(name, clause);        return this;    }    /**     * Get the column aliases.     *     * @return A Map which map the column alias names     * to the alias clauses.     */    public Map getAsColumns()    {        return asColumns;    }    /**     * Allows one to specify an alias for a table that can     * be used in various parts of the SQL.     *     * @param alias a <code>String</code> value     * @param table a <code>String</code> value     */    public void addAlias(String alias, String table)    {        if (aliases == null)        {            aliases = new HashMap(8);        }        aliases.put(alias, table);    }    /**     * Returns the table name associated with an alias.     *     * @param alias a <code>String</code> value     * @return a <code>String</code> value     */    public String getTableForAlias(String alias)    {        if (aliases == null)        {            return null;        }        return (String) aliases.get(alias);    }    /**     * Does this Criteria Object contain the specified key?     *     * @param table The name of the table.     * @param column The name of the column.     * @return True if this Criteria Object contain the specified key.     */    public boolean containsKey(String table, String column)    {        return containsKey(table + '.' + column);    }    /**     * Convenience method to return value as a boolean.     *     * @param column String name of column.     * @return A boolean.     */    public boolean getBoolean(String column)    {        return ((Boolean) getCriterion(column).getValue()).booleanValue();    }    /**     * Convenience method to return value as a boolean.     *     * @param table String name of table.     * @param column String name of column.     * @return A boolean.     */    public boolean getBoolean(String table, String column)    {        return getBoolean(new StringBuffer(table.length() + column.length() + 1)                .append(table).append('.').append(column)                .toString());    }    /**     * Will force the sql represented by this criteria to be executed within     * a transaction.  This is here primarily to support the oid type in     * postgresql.  Though it can be used to require any single sql statement     * to use a transaction.     */    public void setUseTransaction(boolean v)    {        useTransaction = v;    }    /**     * called by BasePeer to determine whether the sql command specified by     * this criteria must be wrapped in a transaction.     *     * @return a <code>boolean</code> value     */    protected boolean isUseTransaction()    {        return useTransaction;    }    /**     * Method to return criteria related to columns in a table.     *     * @param column String name of column.     * @return A Criterion.     */    public Criterion getCriterion(String column)    {        return (Criterion) super.get(column);    }    /**     * Method to return criteria related to a column in a table.     *     * @param table String name of table.     * @param column String name of column.     * @return A Criterion.     */    public Criterion getCriterion(String table, String column)    {        return getCriterion(                new StringBuffer(table.length() + column.length() + 1)                .append(table).append('.').append(column)                .toString());    }    /**     * Method to return criterion that is not added automatically     * to this Criteria.  This can be used to chain the     * Criterions to form a more complex where clause.     *     * @param column String full name of column (for example TABLE.COLUMN).     * @return A Criterion.     */    public Criterion getNewCriterion(String column, Object value,            SqlEnum comparison)    {        return new Criterion(column, value, comparison);    }    /**     * Method to return criterion that is not added automatically     * to this Criteria.  This can be used to chain the     * Criterions to form a more complex where clause.     *     * @param table String name of table.     * @param column String name of column.     * @return A Criterion.     */    public Criterion getNewCriterion(String table, String column,            Object value, SqlEnum comparison)    {        return new Criterion(table, column, value, comparison);    }    /**     * This method adds a prepared Criterion object to the Criteria.     * You can get a new, empty Criterion object with the     * getNewCriterion() method. If a criterion for the requested column     * already exists, it is replaced. This is used as follows:     *     * <p>     * <code>     * Criteria crit = new Criteria();     * Criteria.Criterion c = crit     * .getNewCriterion(BasePeer.ID, new Integer(5), Criteria.LESS_THAN);     * crit.add(c);     * </code>     *     * @param c A Criterion object     *     * @return A modified Criteria object.     */    public Criteria add(Criterion c)    {        StringBuffer sb = new StringBuffer(c.getTable().length()                + c.getColumn().length() + 1);        sb.append(c.getTable());        sb.append('.');        sb.append(c.getColumn());        super.put(sb.toString(), c);        return this;    }    /**     * Method to return a String table name.     *     * @param name A String with the name of the key.     * @return A String with the value of the object at key.     */    public String getColumnName(String name)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一卡2卡3卡4卡| 国产91精品精华液一区二区三区| 99精品国产91久久久久久| 国产精品国产精品国产专区不蜜| thepron国产精品| 亚洲精品视频免费看| 欧美三级欧美一级| 久久成人久久鬼色| 日本一区二区成人在线| 一本色道久久综合狠狠躁的推荐| 亚洲综合一二三区| 日韩欧美成人激情| 成人在线视频一区| 亚洲国产成人va在线观看天堂| 欧美一级黄色录像| 国产精品一二三四区| 中文字幕一区二区三区不卡在线| 色欧美乱欧美15图片| 奇米影视7777精品一区二区| 精品国产凹凸成av人导航| 国产999精品久久| 亚洲一区电影777| 久久网站最新地址| 91激情五月电影| 国模套图日韩精品一区二区 | 亚洲欧美综合色| 欧美午夜精品久久久久久超碰| 蜜臀av性久久久久蜜臀aⅴ| 欧美精彩视频一区二区三区| 国产高清精品在线| 国产一区二区三区最好精华液| 国产精品三级av| 欧美日韩精品电影| 99久久精品免费看国产| 欧美aaa在线| **欧美大码日韩| 欧美成人a在线| 在线欧美日韩精品| 国产在线精品不卡| 手机精品视频在线观看| 国产精品久久综合| 久久婷婷久久一区二区三区| 欧美色爱综合网| 99久久免费视频.com| 免费高清在线视频一区·| 亚洲精品成人在线| 国产日产精品1区| 精品国产一区二区亚洲人成毛片 | 欧美精品一卡二卡| 99在线热播精品免费| 麻豆一区二区三| 天天av天天翘天天综合网| 中文字幕一区二区三中文字幕| 日韩一级大片在线| 欧美猛男男办公室激情| 一本久道中文字幕精品亚洲嫩| 国产91精品精华液一区二区三区 | 欧美日韩在线亚洲一区蜜芽| 丁香激情综合五月| 国产高清无密码一区二区三区| 久久精品99久久久| 美女高潮久久久| 日韩中文字幕91| 偷拍亚洲欧洲综合| 亚洲综合激情另类小说区| ...中文天堂在线一区| 国产精品青草久久| 国产精品久久久一本精品| 国产婷婷色一区二区三区四区 | 国产欧美va欧美不卡在线| 日韩欧美色综合| 欧美videos大乳护士334| 日韩视频免费观看高清完整版 | 精品国产第一区二区三区观看体验| 欧美日韩综合色| 欧美日韩精品系列| 91精品免费在线观看| 制服丝袜中文字幕一区| 日韩三区在线观看| 久久综合久久综合久久| 国产日韩欧美不卡| 亚洲人吸女人奶水| 亚洲一区免费视频| 奇米影视在线99精品| 精品一区二区三区日韩| 韩国女主播一区| 国产999精品久久久久久绿帽| bt欧美亚洲午夜电影天堂| av一区二区不卡| 色老头久久综合| 欧美一区二区成人| 国产亚洲一区字幕| 国产精品美女久久久久久 | 亚洲h精品动漫在线观看| 亚洲一区二区美女| 日韩精品色哟哟| 国产成人精品影视| 91免费看`日韩一区二区| 欧美裸体bbwbbwbbw| 精品欧美一区二区在线观看| 国产欧美日韩精品一区| 亚洲女同一区二区| 久久成人羞羞网站| 91在线视频观看| 91精品国产一区二区| 欧美激情综合在线| 午夜天堂影视香蕉久久| 精品一区二区三区不卡| 96av麻豆蜜桃一区二区| 欧美一区二区三区免费在线看 | 久久se这里有精品| 99在线精品观看| 欧美一区二区三区色| 中文字幕成人av| 日韩精品久久久久久| 国产高清久久久久| 91精品中文字幕一区二区三区| 久久久久久久综合| 午夜a成v人精品| 国产宾馆实践打屁股91| 欧美精品久久久久久久久老牛影院| 久久精品人人爽人人爽| 亚洲v日本v欧美v久久精品| 国产不卡视频在线观看| 欧美剧情片在线观看| 国产精品少妇自拍| 久久国产免费看| 欧美性一区二区| 国产精品网站导航| 久热成人在线视频| 色婷婷精品久久二区二区蜜臀av| 精品国产人成亚洲区| 亚洲综合区在线| 99国产精品国产精品毛片| 精品99久久久久久| 午夜精品一区二区三区免费视频| 成人国产亚洲欧美成人综合网| 91精品国产综合久久精品性色 | 中文字幕不卡在线播放| 久久97超碰色| 欧美精品一卡二卡| 亚洲成人免费视| 在线免费亚洲电影| 亚洲图片另类小说| 国产91丝袜在线播放0| 精品精品国产高清a毛片牛牛| 性欧美大战久久久久久久久| 色偷偷成人一区二区三区91| 欧美激情一区二区三区四区| 奇米在线7777在线精品 | 91视视频在线观看入口直接观看www| 日韩一区二区三区免费观看| 香蕉乱码成人久久天堂爱免费| a4yy欧美一区二区三区| 国产欧美精品一区| 盗摄精品av一区二区三区| 久久婷婷综合激情| 国产麻豆精品视频| 精品国产乱码久久久久久牛牛| 秋霞成人午夜伦在线观看| 欧美日韩一区二区三区视频| 亚洲精品国产精华液| av资源站一区| 亚洲欧美在线另类| 972aa.com艺术欧美| 亚洲欧美色图小说| 日本道色综合久久| 一区二区激情小说| 欧美自拍偷拍一区| 亚洲成a人v欧美综合天堂| 欧美日韩精品一区二区三区| 亚洲bt欧美bt精品777| 91精品国模一区二区三区| 日韩av中文字幕一区二区三区| 69精品人人人人| 精品亚洲国内自在自线福利| 2020国产精品自拍| 高清国产一区二区| 国产精品久久久久久久午夜片| 成人理论电影网| 亚洲精品欧美在线| 69精品人人人人| 国产综合久久久久久久久久久久| 久久久天堂av| 91女人视频在线观看| 亚洲国产综合在线| 日韩亚洲欧美综合| 国产成人精品三级麻豆| 中文字幕一区二区三区在线播放 | 欧美日韩成人综合在线一区二区| 亚洲成av人在线观看| 精品少妇一区二区三区在线播放 | 一本色道亚洲精品aⅴ| 亚洲国产日韩在线一区模特 | 国产欧美一区二区精品性| 91免费观看在线| 久久精品99久久久| 亚洲天堂精品在线观看| 9191成人精品久久| 国产jizzjizz一区二区|