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

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

?? dataadapter.java

?? 網絡硬盤
?? JAVA
字號:
package com.zte.webfile.dal;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Vector;

import javax.sql.DataSource;

import org.apache.log4j.Logger;

public class DataAdapter {

	private final static Logger log = Logger.getLogger(DataAdapter.class);

	/**
	 * 根據傳入的sql語句,獲取PreparedStatement對象
	 * 
	 * @param sql
	 *            sql語句
	 * @return
	 * @throws Exception 
	 */
	protected static PreparedStatement getPreparedStatement(String sql)
			throws Exception {
		DataSource ds = JNDIDataSourceFactory.getDataSource();
		Connection conn = ds.getConnection();
		PreparedStatement statement = conn.prepareStatement(sql,
				ResultSet.TYPE_SCROLL_INSENSITIVE,
				// 使游標的精確移動功能有效
				ResultSet.CONCUR_UPDATABLE);
		System.out.println();
		return statement;
	}

	protected static CallableStatement getPrepareCall(String sql) throws Exception {
		DataSource ds = JNDIDataSourceFactory.getDataSource();
		Connection conn = ds.getConnection();
		CallableStatement cs = conn.prepareCall(sql,
				ResultSet.TYPE_SCROLL_INSENSITIVE,
				// 使游標的精確移動功能有效
				ResultSet.CONCUR_UPDATABLE);
		return cs;
	}

	/**
	 * 執行數據查詢操作,返回分頁后的結果集。若pageSize小于0,則不分頁。 使用方法: <code>
	 * 	      // sql語句
	 *        String sql = "select * from testTable where condi1 = ? " +
	 *        			"and condi2 = ?";
	 *        // 添加參數
	 *        Vector params = new Vector();
	 *        params.add("p1");
	 *        params.add("p2");
	 *        
	 *        // 執行查詢
	 *        Vector datas = DataAdapter.getData(sql, params);
	 *        
	 *        // 解析數據
	 *        if(datas != null) {
	 *	        for(int i = 0; i < datas.size; i++) {
	 *				Vector row = (Vector) datas.get[i];
	 *				for(int j = 0; j < row.size; j++) {
	 *					System.out.print(row.get[j] + "  ");
	 *				}
	 *				System.out.println();
	 *			}
	 *        }
	 * </code>
	 * @param sql
	 *            待執行的sql語句
	 * @param args
	 *            sql語句中的參數列表
	 * @param pageSize
	 *            數據集分頁大小
	 * @param pageNumber
	 *            數據集分頁頁號
	 * @return
	 * @throws Exception 
	 */
	public static Vector getData(String sql, Vector params, int pageSize,
			int pageNumber) throws Exception {
		Vector datas = new Vector();

		try {
			PreparedStatement ps = getPreparedStatement(sql);

			// 設置查詢參數
			if (params != null) {
				for (int i = 0; i < params.size(); i++) {
					//log.info(params.get(i));
					ps.setObject(i + 1, params.get(i));
				}

			}
			// 執行查詢
			Pageable rs = new PageableResultSet(ps.executeQuery());
			rs.setPageSize(pageSize);
			rs.gotoPage(pageNumber);
			// 放入緩沖列表
			ResultSetMetaData rsmd = rs.getMetaData();
			int i = 0;
			rs.previous();
			for (; i < rs.getPageRowsCount() && rs.next(); i++) {
				Vector row = new Vector();
				for (int j = 1; j < rsmd.getColumnCount() + 1; j++) {
					row.add(rs.getObject(j));
				}
				datas.add(row);
			}
			if (i == 0)
				return null;
			rs.close();
			ps.close();
		} catch (SQLException e) {
			e.printStackTrace();
			log.error(e.getMessage());
			return null;
		}
		return datas;
	}

	public static Vector getDataByStoreProcedure(String sql, Vector params,
			int pageSize, int pageNumber) throws Exception {
		Vector datas = new Vector();

		try {
			CallableStatement cs = getPrepareCall(sql);

			// 設置查詢參數
			if (params != null) {
				for (int i = 0; i < params.size(); i++) {
					// log.info(params.get(i));
					cs.setObject(i + 1, params.get(i));
				}

			}
			// 執行查詢
			Pageable rs = new PageableResultSet(cs.executeQuery());
			rs.setPageSize(pageSize);
			rs.gotoPage(pageNumber);
			// 放入緩沖列表
			ResultSetMetaData rsmd = rs.getMetaData();
			int i = 0;
			rs.previous();
			for (; i < rs.getPageRowsCount() && rs.next(); i++) {
				Vector row = new Vector();
				for (int j = 1; j < rsmd.getColumnCount() + 1; j++) {
					row.add(rs.getObject(j));
				}
				datas.add(row);
			}
			if (i == 0)
				return null;
			rs.close();
			cs.close();
		} catch (SQLException e) {
			e.printStackTrace();
			log.error(e.getMessage());
			return null;
		}
		return datas;
	}

	/**
	 * 執行數據查詢操作,不分頁。
	 * 
	 * @param sql
	 *            待執行的sql語句
	 * @param args
	 *            sql語句中的參數列表
	 * @return
	 * @throws Exception 
	 */
	public static Vector getData(String sql, Vector params) throws Exception {
		return getData(sql, params, 0, 0);
	}
	
	public static Vector getDataByStoreProcedure(String sql, Vector params) throws Exception {
		return getDataByStoreProcedure(sql, params, 0, 0);
	}

	/**
	 * 執行數據查詢操作,不提供參數
	 * 
	 * @param sql
	 *            待執行的sql語句
	 * @return
	 * @throws Exception 
	 */
	public static Vector getData(String sql) throws Exception {
		return getData(sql, null);
	}

	/**
	 * 執行單值查詢,對于只想得到一個數據的查詢,可以使用此方法。若沒有 有效數據,則返回null
	 * 
	 * @param sql
	 *            待執行的sql語句
	 * @param params
	 *            參數列表
	 * @return 數據查詢的唯一值
	 * @throws Exception 
	 */
	public static Object getSingleValue(String sql, Vector params) throws Exception {
		Vector datas = getData(sql, params);
		if ((datas == null) || (datas.size() == 0))
			return null;
		Vector row = (Vector) datas.get(0);
		if ((row == null) || (row.size() == 0))
			return null;
		return row.get(0);
	}

	/**
	 * 執行數據查詢操作
	 * 
	 * @param sql
	 *            待執行的sql語句
	 * @param params
	 *            sql語句中的參數列表
	 * @throws Exception 
	 */
	public static int update(String sql, Vector params) throws Exception {
		int returnValue = -1;
		try {
			PreparedStatement ps = getPreparedStatement(sql);

			// 設置查詢參數
			if (params != null) {
				for (int i = 0; i < params.size(); i++) {
					// log.info(params.get(i));
					ps.setObject(i + 1, params.get(i));
				}
			}

			returnValue = ps.executeUpdate();
			ps.close();
		} catch (SQLException e) {
			e.printStackTrace();
			log.error(e.getMessage());
		}
		return returnValue;
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜一区二区| 色婷婷综合久色| 678五月天丁香亚洲综合网| 亚洲综合一区二区三区| 欧美系列一区二区| 天堂在线一区二区| 亚洲精品一区二区三区影院 | 91久久久免费一区二区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 波多野结衣在线一区| 亚洲视频中文字幕| 欧美精品精品一区| 激情五月激情综合网| 国产欧美一区二区在线| 色婷婷久久99综合精品jk白丝| 成人一区二区在线观看| 国产精品久久久久久久岛一牛影视| 91在线看国产| 蜜臀99久久精品久久久久久软件| 久久精品无码一区二区三区| 99视频精品免费视频| 亚洲aaa精品| 国产日韩成人精品| 在线观看不卡一区| 狠狠色丁香久久婷婷综| 亚洲欧洲av另类| 日韩一区二区精品葵司在线| 国产成人综合亚洲网站| 亚洲一区二区四区蜜桃| 欧美成人三级电影在线| 99视频热这里只有精品免费| 秋霞电影一区二区| 1024精品合集| 亚洲精品一区二区精华| 91丨国产丨九色丨pron| 久色婷婷小香蕉久久| 亚洲欧美另类久久久精品| 日韩一区二区麻豆国产| 91久久精品一区二区三区| 国产美女精品一区二区三区| 亚洲一卡二卡三卡四卡五卡| 久久伊人中文字幕| 欧美男女性生活在线直播观看| 国产成人自拍网| 奇米综合一区二区三区精品视频| 欧美国产激情一区二区三区蜜月| 6080午夜不卡| 一本一本大道香蕉久在线精品| 精东粉嫩av免费一区二区三区| 亚洲午夜免费视频| 国产精品免费久久| 久久先锋影音av| 91精品国产一区二区三区| 91视频在线观看| 成人一区二区三区在线观看| 免费成人在线观看视频| 一区二区三区在线免费观看| 中文字幕av一区二区三区高| 欧美一二三区精品| 欧美日韩一级大片网址| 色综合久久天天| 91在线精品一区二区| 成人黄色大片在线观看| 国产伦精品一区二区三区免费| 丝袜亚洲精品中文字幕一区| 国产麻豆欧美日韩一区| 一区二区三区蜜桃网| 日韩理论在线观看| 国产精品视频一二三| 国产亚洲一区字幕| 欧美精品一区二区三区在线| 欧美一区二区在线看| 911精品国产一区二区在线| 欧美日韩中文一区| 欧美日韩国产另类一区| 欧美性感一类影片在线播放| 欧美中文字幕一区二区三区亚洲| 97久久久精品综合88久久| 成人va在线观看| 97久久超碰国产精品电影| 99精品久久只有精品| 91在线国产福利| 色视频欧美一区二区三区| 一本久道中文字幕精品亚洲嫩| 91免费版pro下载短视频| 97精品久久久午夜一区二区三区| 国产成人自拍网| 91小视频在线观看| 色视频一区二区| 3atv一区二区三区| 日韩精品影音先锋| 久久久www免费人成精品| 国产欧美日韩不卡免费| 国产精品电影一区二区三区| 自拍偷拍国产亚洲| 亚洲.国产.中文慕字在线| 日本成人在线一区| 国产在线麻豆精品观看| 成人午夜短视频| 欧洲精品视频在线观看| 欧美日韩成人在线一区| 精品91自产拍在线观看一区| 中文一区一区三区高中清不卡| |精品福利一区二区三区| 一区二区高清免费观看影视大全| 亚洲午夜久久久久| 狠狠久久亚洲欧美| 91免费版在线| 日韩一级成人av| 国产精品久久久久久久久久久免费看 | 99热在这里有精品免费| 91论坛在线播放| 91精品国产综合久久小美女| 久久久久久黄色| 一区二区三区高清在线| 蜜桃视频一区二区三区在线观看| 欧美视频在线不卡| 欧美tk—视频vk| 中文字幕在线不卡视频| 日本中文一区二区三区| 国产91精品精华液一区二区三区| 色美美综合视频| 亚洲精品在线三区| 一片黄亚洲嫩模| 国产一区久久久| 欧美三级蜜桃2在线观看| 国产三级精品三级| 日韩激情一区二区| 94-欧美-setu| 欧美xxxxxxxxx| 亚洲成人tv网| 99久久精品费精品国产一区二区 | 亚洲精品综合在线| 午夜免费久久看| 国产成人精品午夜视频免费| 欧美日韩中文字幕一区二区| 国产日韩欧美不卡在线| 五月天国产精品| 91亚洲国产成人精品一区二三| 精品国产一区二区三区四区四| 亚洲狠狠丁香婷婷综合久久久| 国内外成人在线| 91精品国产综合久久婷婷香蕉| 亚洲精品日日夜夜| 成人综合婷婷国产精品久久蜜臀 | 国产69精品久久久久毛片| 欧美福利电影网| 亚洲在线视频免费观看| 成人黄色大片在线观看| 久久精品视频网| 激情综合色播激情啊| 91精品久久久久久久久99蜜臂| 一区二区三区.www| 91网站视频在线观看| 国产精品美女久久久久高潮| 国产永久精品大片wwwapp| 亚洲猫色日本管| 日韩在线观看一区二区| 91原创在线视频| 国产精品久久久久7777按摩| 国产一区二区剧情av在线| 日韩免费看网站| 美女国产一区二区| 日韩精品一区二区三区在线播放| 性久久久久久久久| 欧美浪妇xxxx高跟鞋交| 一区二区三区不卡在线观看 | www.久久久久久久久| 国产欧美精品一区| 国产不卡在线一区| 国产精品毛片高清在线完整版| 高清不卡一二三区| 国产精品无遮挡| 99久久精品免费看国产免费软件| 亚洲欧洲一区二区在线播放| 成人aa视频在线观看| 亚洲天堂精品在线观看| 色94色欧美sute亚洲线路一久 | 亚洲一卡二卡三卡四卡| 蜜桃一区二区三区在线| 欧美电影一区二区| 日本成人在线网站| 欧美mv日韩mv国产网站| 国产一区二区不卡| 国产精品午夜久久| 色综合婷婷久久| 视频一区中文字幕国产| 精品久久久久av影院| 韩国av一区二区三区四区| 久久久久国色av免费看影院| 成人免费视频caoporn| 亚洲欧美日韩国产中文在线| 欧美日韩综合不卡| 精油按摩中文字幕久久| 国产精品久久久久久久久久免费看| 99国内精品久久| 日本在线不卡视频| 欧美国产精品中文字幕| 欧美综合亚洲图片综合区| 麻豆精品一区二区综合av|