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

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

?? query.java

?? 我自己實現了一個數據訪問層
?? JAVA
字號:
package dark.db.record;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * <p>Title:            數據庫查詢操作封裝類</p>
 * <p>Description:      定義了各種數據庫查詢方法</p>
 * <p>Copyright:        Copyright (c) 2003</p>
 * <p>Company:          cniti</p>
 * <p>Create Time:      2004-3-21 14:00:32</p>
 * @author             <a href="mailto:dark_he@hotmail.com">darkhe</a>
 * @version            1.0
 */
public class Query
{			
	private Connection conn;	

	private Statement stmt;
    
	// 表名
	private String table_name;
	   
	// 目標列名
	private String field;
  	  
	// 條件表達式
	private String condition;
  
	// 分組列名
	private String groupBy;
  
	// 分組的附加條件
	private String having;
  
	// 排序列名
	private String orderBy;
    
	// 升序排序
	public static final String ASC = "ASC";
  
	// 降序排序
	public static final String DESC = "DESC";
  
	// 是否去除重復記錄,default不去除
	private boolean isDistinct = false;	
	
	
	public Query(String table_name, Connection conn)
	{		
		this.table_name = table_name;
		this.conn = conn;
	}
	
	
	public Query()
	{
	}	
  

   /** 
	*  根據指定參數生成查詢結果集  
	*  type參數值:<br>
	*  1. TYPE_FORWARD_ONLY 結果集不可滾動<br>
	*  2. TYPE_SCROLL_INSENSITIVE 結果集可以滾動,但不反映數據庫的變化<br>
	*  3. TYPE_SCROLL_SENSITIVE 結果集可以滾動,并反映數據庫的變化<br>
	*  concurrency參數值:<br>
	*  1. CONCUR_READ_ONLY 不能用結果集更新數據庫<br>
	*  2. CONCUR_UPDATEABLE 可以用結果集更新數據庫<br>	
	*  @param type ResultSet類型值
	*  @param concurrency ResultSet同步值  
	*  @exception SQLException
	*/   
	public ResultSet executeQuery( int type,
								 	int concurrency )
	throws SQLException
	{	
		String sql = getSelectSQL();
		stmt = conn.createStatement( type , concurrency );
		
		//System.out.println("darkhe>>>" + this + ">>>SQL>>>" + sql );
		
		return stmt.executeQuery( sql );
	}
	  
	  
	/**
	 * 根據Default設置生成查詢結果集
	 * @return
	 * @throws SQLException
	 */
	public ResultSet executeQuery()
	throws SQLException
	{
		String sql = getSelectSQL();		
		stmt = conn.createStatement();
		
		System.out.println(this + ">>>SQL>>>" + sql );
				
		return stmt.executeQuery( sql );
	}
	
	
	
	
	/**
	 * 根據Default設置生成查詢結果集
	 * @return
	 * @throws SQLException
	 */
	public ResultSet executeQuery(String sql)
	throws SQLException
	{		
		stmt = conn.createStatement();
		
		System.out.println(this + ">>>SQL>>>" + sql );
				
		return stmt.executeQuery( sql );
	}	 
  
  
    
//    /**
//     * 將記錄集形式的查詢結果轉換為Record格式
//     * @param rs
//     * @return
//     * @throws SQLException
//     */
//    public static Record getRecordByResultSet(ResultSet rs)
//    throws SQLException
//    {
//    	Record r = new Record();
//    	ResultSetMetaData rsmd = rs.getMetaData();
//    	int columnCount = rsmd.getColumnCount();
//    	 
//    	for(int i=1; i<columnCount && rs.next(); i++)
//    	{
//    		String columnName = rsmd.getColumnName(i);
//    		int columnType = rsmd.getColumnType(i);
//    		
//    		if( columnType == Types.BIGINT )
//    		{
//    			r.put(columnName, rs.getBigDecimal(columnName).toBigInteger() );
//    		}
//    	}
//    	
//    	
//    	/*while( rs.next() )
//    	{
//    	}*/
//    	
//    	return r;
//    }
    
        


	/**
	 *  設置目標列名。
	 *  example: id, name, sex
	 *  如果沒有明確調用當前方法明確設置目標列名,
	 *  則默認為*(所有字段)
	 *  @param field 目標列名  
	 */
	public void setField(String field)
	{    
	  this.field = field;
	}
  
  
  
	/**
	*  設置分組列名
	*  @param groupBy 分組列名
	*/
	public void setGroupBy(String groupBy)
	{
	  this.groupBy = groupBy;
	}
 
  
  
	/**
	*  設置分組的附加條件  
	*  @param having 分組的附加條件        
	*/
	public void setHaving(String having)  
	{        
		this.having = having;
	}
  
  
	/**
	 * 指定查詢按ASC方式排序
	 * @param orderBy
	 */
	public void setOrderByASC(String orderBy)							                      
	{	  
	     
		this.orderBy = orderBy + " ASC";     	  
	}
	
	
	/**
	 * 指定查詢按DESC方式排序
	 * @param orderBy
	 */
	public void setOrderByDESC(String orderBy)						    	                       
	{	  	     
		this.orderBy = orderBy + " DESC";     	 
	}
  
  
  
	/**
	*  設置是否去除重復記錄
	*  @param isDistinct true為去除,false為不去除
	**/
	public void isDistinct(boolean isDistinct)
	{
	  this.isDistinct = isDistinct;
	}



	/**  
	*  @return 構成的Select SQL串值
	*  @throws SQLException  
	*/
	public String getSelectSQL() throws SQLException
	{
		StringBuffer sql = new StringBuffer();

		sql.append("SELECT ");

		if (isDistinct)
		{
			sql.append("DISTINCT ");
		}

		if (field == null)
		{
			sql.append("*");
		}
		else
		{
			sql.append(field);
		}

		sql.append(" FROM ");

		if (sql == null)
		{
			throw new SQLException("未設置表名");
		}
		else
		{
			sql.append(table_name);
		}

		if (condition != null)
		{
			sql.append(" WHERE (");
			sql.append(condition);
			sql.append(") ");
		}

		if (orderBy != null)
		{
			sql.append(" ORDER BY ");
			sql.append(orderBy);			
		}
		
		if (groupBy != null)
		{
			sql.append(" GROUP BY ");
			sql.append(groupBy);
			if (having != null)
			{
				sql.append(" HAVING ");
				sql.append(having);
			}
			sql.append(" ");
		}

		return sql.toString();
	}
              
		
	/**
	 * @return
	 */
	public String getCondition()
	{
		return condition;
	}

	/**
	 * @return
	 */
	public String getTablename()
	{
		return table_name;
	}

	/**
	 * @param string
	 */
	public void setCondition(String string)
	{
		condition = string;
	}

	/**
	 * @param string
	 */
	public void setTablename(String string)
	{
		table_name = string;
	}


	public static void main(String[] args) throws SQLException
	{
		Connection conn = null;
		Query q = new Query( "Tablename",conn );		
		//q.setField("id,name");
		q.setCondition("id=100");
		q.setOrderByDESC("name");
		System.out.println("sql=" + q.getSelectSQL() );
	}
	
	
	/**
	 * @return
	 */
	public boolean isDistinct()
	{
		return isDistinct;
	}


	/**
	 * @param b
	 */
	public void setDistinct(boolean b)
	{
		isDistinct = b;
	}


	/**
	 * @return
	 */
	public String getField()
	{
		return field;
	}


	/**
	 * @return
	 */
	public String getGroupBy()
	{
		return groupBy;
	}


	/**
	 * @return
	 */
	public String getHaving()
	{
		return having;
	}


	/**
	 * @return
	 */
	public Connection getConnection()
	{
		return conn;
	}


	/**
	 * @param connection
	 */
	public void setConnection(Connection connection)
	{
		conn = connection;
	}
	
	
//	protected void finalize() throws Throwable
//	{		
//		super.finalize();
//		stmt.close();   // 
//		stmt = null;	// ??? 是應該手工關閉呢,還是不呢,得做個實驗。
//	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产91丝袜在线播放九色| 亚洲精品一区二区在线观看| 亚洲精品国产a久久久久久 | 91精品国产黑色紧身裤美女| 婷婷久久综合九色国产成人| 91精品国产黑色紧身裤美女| 久久99精品网久久| 中文字幕第一区| 91在线视频播放| 性做久久久久久免费观看欧美| 欧美精品在线观看播放| 国内精品伊人久久久久影院对白| 久久精品亚洲乱码伦伦中文| av一区二区三区在线| 一区二区三区欧美日| 777亚洲妇女| 国产成人欧美日韩在线电影| 亚洲免费成人av| 日韩无一区二区| 成人免费毛片aaaaa**| 亚洲一区二区欧美激情| 日韩视频国产视频| 成人黄色一级视频| 五月婷婷欧美视频| 国产无一区二区| 欧美裸体bbwbbwbbw| 国产乱子轮精品视频| 亚洲品质自拍视频| 精品成a人在线观看| 色视频一区二区| 国产一区二区三区av电影| 亚洲乱码中文字幕| 久久综合资源网| 欧美综合在线视频| 国产成a人亚洲| 婷婷开心激情综合| 最新高清无码专区| 精品欧美乱码久久久久久1区2区| av网站一区二区三区| 秋霞电影一区二区| 亚洲一区二区三区小说| 国产三级欧美三级| 56国语精品自产拍在线观看| 成人99免费视频| 精品无人码麻豆乱码1区2区 | 精品一区二区av| 亚洲一级二级三级在线免费观看| 日韩欧美一级在线播放| 在线日韩一区二区| 成人亚洲一区二区一| 久久99国产精品久久99| 午夜精品福利一区二区三区av | 亚洲国产成人高清精品| 国产精品天干天干在观线| 欧美不卡在线视频| 欧美三级电影一区| 一本一道综合狠狠老| 高清久久久久久| 国产精品亚洲午夜一区二区三区 | 精品国产乱码久久久久久老虎| 在线日韩一区二区| 色综合久久中文字幕| 99视频精品在线| 国产成人精品一区二 | 99视频一区二区三区| 国产麻豆精品一区二区| 精品亚洲成av人在线观看| 免费高清不卡av| 蜜臀va亚洲va欧美va天堂| 视频一区视频二区在线观看| 午夜精品一区在线观看| 亚洲电影视频在线| 亚洲国产视频一区二区| 亚洲国产精品尤物yw在线观看| 一区二区三区中文字幕在线观看| 国产精品久久久久天堂| 国产精品初高中害羞小美女文| 国产三区在线成人av| 国产精品视频yy9299一区| 欧美激情一区二区三区在线| 亚洲国产精品成人综合| 国产精品激情偷乱一区二区∴| 欧美激情一区不卡| 亚洲视频在线观看一区| 伊人婷婷欧美激情| 五月婷婷综合网| 麻豆中文一区二区| 国产精品亚洲人在线观看| 成人福利视频网站| av电影在线观看一区| 色综合咪咪久久| 欧美电影一区二区| 精品国产百合女同互慰| 久久夜色精品国产欧美乱极品| 国产亚洲综合色| 亚洲桃色在线一区| 天堂精品中文字幕在线| 狠狠色综合播放一区二区| 丰满亚洲少妇av| 色综合久久综合网欧美综合网| 欧美日韩精品一二三区| 欧美成人女星排名| 中文无字幕一区二区三区| 伊人色综合久久天天人手人婷| 石原莉奈在线亚洲三区| 国产麻豆成人传媒免费观看| 91在线porny国产在线看| 欧美日本在线一区| 久久久国产一区二区三区四区小说| 国产精品久久久久国产精品日日| 亚洲一区二区三区视频在线 | 亚洲国产欧美在线| 久久成人精品无人区| av不卡一区二区三区| 欧美日韩一区成人| 欧美国产日韩一二三区| 亚洲chinese男男1069| 韩国三级电影一区二区| 91精品办公室少妇高潮对白| 欧美成人性福生活免费看| 亚洲欧美日韩国产综合| 日韩精品乱码av一区二区| aaa亚洲精品| 久久一夜天堂av一区二区三区| 亚洲一区二区三区在线看| 国产成人一区在线| 91精品国产综合久久福利软件| 国产精品另类一区| 日韩电影在线一区| 91麻豆精品视频| www国产亚洲精品久久麻豆| 亚洲成人激情社区| aaa欧美色吧激情视频| 欧美精品一区二区三区久久久| 亚洲精品视频在线观看网站| 国产高清亚洲一区| 欧美一区二区三区成人| 亚洲你懂的在线视频| 国产盗摄一区二区三区| 日韩一区二区视频| 亚洲国产精品久久久男人的天堂| 丁香亚洲综合激情啪啪综合| 日韩三区在线观看| 亚洲福利视频三区| 91精品办公室少妇高潮对白| 国产精品萝li| 大白屁股一区二区视频| 精品国产人成亚洲区| 免费在线观看视频一区| 欧美日韩中字一区| 亚洲私人影院在线观看| eeuss影院一区二区三区| 精品国产一区二区三区不卡 | 麻豆成人综合网| 欧美日韩在线观看一区二区 | gogo大胆日本视频一区| 久久精品一区四区| 国产一区久久久| 久久精品一级爱片| 国产精品一区二区在线观看网站| 精品日韩一区二区三区免费视频| 五月婷婷激情综合| 欧美日韩精品一区二区三区四区| 亚洲综合激情小说| 欧日韩精品视频| 亚洲成人av一区二区| 欧美日韩激情一区二区三区| 亚洲国产精品自拍| 制服丝袜日韩国产| 另类人妖一区二区av| 日韩欧美不卡一区| 国产在线精品一区二区夜色| 久久久久久久一区| 国产乱码一区二区三区| 日本一二三不卡| 99久久婷婷国产综合精品电影| 1024精品合集| 欧美在线综合视频| 爽好久久久欧美精品| 日韩亚洲电影在线| 国产在线播放一区| 中文字幕欧美一| 91极品美女在线| 蜜桃久久久久久久| 中文字幕欧美日韩一区| 日本韩国欧美国产| 日韩一区欧美二区| 国产亚洲视频系列| 91捆绑美女网站| 日韩电影在线观看一区| 欧美mv日韩mv亚洲| 成人激情免费视频| 午夜av一区二区| 久久久久久久av麻豆果冻| av一区二区三区| 亚洲成人av中文| 国产亚洲一区字幕| 欧美色男人天堂| 黑人巨大精品欧美一区| **网站欧美大片在线观看|