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

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

?? databaseoperation.java

?? 某國際貿易中心共有40層
?? JAVA
字號:
package myjdbc;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.sql.DataSource;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.*;
import java.sql.SQLException;
import java.util.Properties;

import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
import myjdbc.util.WrapperUtil;

public class DatabaseOperation {
    private static DatabaseOperation dbo = null;
    private static final int FETCH_ALL = Integer.MAX_VALUE;
    private static final int NO_OFFSET = -1;
    private static final int DEFAULT_PAGE_SIZE = 20;
    private Connection conn = null;
    private PreparedStatement pst = null;
    private ResultSet rs = null;
    private DataSource ds = null;
    private static String staticTableConfigPath = "src/conf"; //
    private static String staticDataSourceName = "DataSource";
    //私有構在函數
    private DatabaseOperation() {
        try {
            Context ctx = getWeblogicServerInitialContext();
            ds = (DataSource) ctx.lookup(staticDataSourceName);
        } catch (NamingException ex) {
            ex.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    //獲得weblogic的上下文
    private final Context getWeblogicServerInitialContext() throws Exception {
        String url = "t3://127.0.0.1:7001";
        String user = null;
        String password = null;
        Properties properties;
        try {
            properties = new Properties();
            //  properties.put("tableConfigPath","F:/jbuilder_project/writebook/relation_manage/src/conf");
            properties.put(Context.INITIAL_CONTEXT_FACTORY,
                           "weblogic.jndi.WLInitialContextFactory");
            properties.put(Context.PROVIDER_URL, url);
            if (user != null) {
                properties.put(Context.SECURITY_PRINCIPAL, user);
                properties.put(Context.SECURITY_CREDENTIALS,
                               password == null ? "" : password);

            }
            return new javax.naming.InitialContext(properties);
        } catch (Exception e) {
            e.printStackTrace();
            throw e;
        }
    }

    //獲得DatabaseOperation的對象
    public static DatabaseOperation getInstance(String tableConfigPath,
                                                String dataSource) {
        staticTableConfigPath = tableConfigPath;
        staticDataSourceName = dataSource;
        if (dbo == null) {
            dbo = new DatabaseOperation();
        }
        return dbo;
    }

    public static DatabaseOperation getInstance() {
        if (dbo == null) {
            dbo = new DatabaseOperation();
        }
        return dbo;
    }

    //初始化Connection
    private void openConnection() {
        if (conn == null) {
            try {
                conn = ds.getConnection();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

    //關閉connection
    private void colseConnection() {
        try {
            if (rs != null) {
                rs.close();
            }
            if (pst != null) {
                pst.close();
            }
            if (conn != null) {
                conn.close();
                conn = null;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    //真正的執行SQL語句的函數
    public List executeSQL(String sql, Object[] paras, int maxRow, int offset) {
        openConnection();
        try {
            sql = sql.toLowerCase();
            pst = conn.prepareStatement(sql);
            pst.setMaxRows(maxRow);
            if (paras != null && paras.length > 0) {
                for (int i = 0, len = paras.length; i < len; i++) {
                    pst.setObject(i + 1, paras[i]);
                }
            }
            if (sql.trim().startsWith("s")) {
                rs = pst.executeQuery();
                if (offset > 0) {
                    rs.absolute(offset);
                }
                return WrapperUtil.getInstance().wrapperToObjectCol(rs, sql,
                        staticTableConfigPath);
            } else {
                int i = pst.executeUpdate();
//       if (i<=0)
//         throw new Exception("數據庫操作執行失敗!");
                return null;
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
            return null;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        } finally {
            this.colseConnection();
        }
    }

    public List executeSQL(String sql, Object[] paras, int maxRow) {
        return executeSQL(sql, paras, maxRow, NO_OFFSET);
    }

    public List executeSQL(String sql, Object[] paras) {
        return executeSQL(sql, paras, FETCH_ALL, NO_OFFSET);
    }

    public List executeSQL(String sql) {
        return executeSQL(sql, null, FETCH_ALL, NO_OFFSET);
    }

    //pageNo從0開始
    public List executeSQLSeperatePage(String sql, Object[] paras, int pageSize,
                                       int pageNo) {
        int offset = -1;
        if (pageNo != 1) {
            offset = pageSize * (pageNo - 1);
        }
        //rs.absolute(pageSize * pageNo);
        System.out.println("offset = " + offset);
        return executeSQL(sql, paras, pageSize * (pageNo), offset);
    }

    //獲得總頁數
    public int getTotalPage(String sql, Object[] paras, int pageSize) {
        try {
            openConnection();
            PreparedStatement _pst = conn.prepareStatement(sql);

            if (paras != null && paras.length > 0) {
                for (int i = 0, len = paras.length; i < len; i++) {
                    _pst.setObject(i + 1, paras[i]);
                }
            }
            ResultSet _rs = _pst.executeQuery();
            _rs.last();
            int rows = _rs.getRow();
            return (rows % pageSize == 0) ? rows / pageSize :
                    rows / pageSize + 1;
        } catch (SQLException e) {
            e.printStackTrace();
            return -1;
        } finally {
            colseConnection();
        }

    }

    public int getTotalPage(String sql) {
        return getTotalPage(sql, null, DEFAULT_PAGE_SIZE);
    }

    public int getTotalPage(String sql, int pageSize) {
        return getTotalPage(sql, null, pageSize);
    }

    public int getTotalPage(String sql, Object[] paras) {
        return getTotalPage(sql, paras, DEFAULT_PAGE_SIZE);
    }

    public static void main(String args[]) throws Exception {
        List result = new ArrayList();
        String sql = "select * from orderitem as a";
//    sql = sql.toLowerCase();
        DatabaseOperation database = DatabaseOperation.getInstance();
        //   database.openConnection();
        result = database.executeSQL(sql);
        System.out.println("asdf=====>" + result.size());
//    String[] columns = parserSQL(sql,"select","from");
//    //sql語句如果是select * from table,這樣的模式,則列名數組為空
//    if (columns == null)
//    {
//      String[] tables = getTableName(sql);
//      if (tables.length > 1)
//        throw new Exception("暫時只支持單表的 select * from table 的操作!");
//
//
//    }
//    else {
//      int len = columns.length;
//      int i = 0;
//      try {
//        while (rs.next()) {
//          Object[] temp = new Object[len];
//          while (i < len) {
//            temp[i] = rs.getObject(columns[i]);
//            i++;
//          }
//          result.add(temp);
//          i = 0;
//        }
//      }
//      catch (SQLException ex) {
//        ex.printStackTrace();
//      }
//      prt(result);
//      database.colseConnection();
//    }
    }
//  private static void prt(List list)
//  {
//
//    for (Iterator iter = list.iterator(); iter.hasNext(); ) {
//       WbRelationDetail item = (WbRelationDetail) iter.next();
//     System.out.println("relation sn = " + item.getRelationSn() +" , and relation name = "+ item.getName());
//
//    }
//  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久影视传媒| 国产色综合一区| 日韩电影在线一区二区三区| 成人在线综合网站| 精品福利一区二区三区免费视频| 成人精品亚洲人成在线| 最新久久zyz资源站| 欧美日韩小视频| 久色婷婷小香蕉久久| 日本一区二区电影| 在线观看亚洲精品视频| 免费在线欧美视频| 国产精品嫩草影院com| 在线免费观看不卡av| 久久成人免费网站| 亚洲日本va午夜在线电影| 欧美电影在线免费观看| 福利视频网站一区二区三区| 一区二区在线观看视频| 欧美精品一区二区三区很污很色的 | 日韩欧美国产三级| 国产美女在线精品| 国产精品网友自拍| 日本一二三不卡| 久久黄色级2电影| 一区二区三区四区乱视频| 日韩欧美国产精品一区| 色狠狠一区二区三区香蕉| 国产乱妇无码大片在线观看| 亚洲综合精品自拍| 欧美激情中文不卡| 日韩欧美的一区二区| 欧美午夜片在线看| 99久久国产综合精品女不卡| 亚洲成人动漫av| 久久久99免费| 2023国产一二三区日本精品2022| 欧美综合久久久| 一区二区三区自拍| 18欧美亚洲精品| 中文字幕乱码久久午夜不卡| 2020国产精品自拍| 亚洲精品一线二线三线无人区| 欧美三级午夜理伦三级中视频| 91麻豆国产香蕉久久精品| 不卡一区二区中文字幕| 99视频有精品| 91丨九色丨国产丨porny| 91在线免费播放| 91久久精品一区二区| 色综合久久中文综合久久97| 一本久久综合亚洲鲁鲁五月天 | 国产成a人亚洲| 成人美女视频在线观看18| 高潮精品一区videoshd| 在线亚洲精品福利网址导航| 丁香婷婷综合色啪| 99视频在线精品| 欧美日韩一区二区三区免费看| 欧美日韩精品是欧美日韩精品| 欧美日韩的一区二区| 日韩午夜av一区| 久久精品这里都是精品| 国产精品麻豆99久久久久久| 亚洲激情五月婷婷| 亚洲国产综合在线| 亚洲国产乱码最新视频| 亚洲资源在线观看| 麻豆成人久久精品二区三区红 | 综合久久综合久久| 婷婷综合久久一区二区三区| 国内外成人在线| 91福利区一区二区三区| 欧美xxxx老人做受| 一级中文字幕一区二区| 国产在线一区二区| 欧美视频一区二区在线观看| 精品粉嫩超白一线天av| 一区二区三区中文字幕| 久久久久国产精品人| 亚洲乱码国产乱码精品精可以看| 激情综合网天天干| 天天综合色天天| 不卡视频免费播放| 在线电影一区二区三区| 亚洲日本在线天堂| 国产乱色国产精品免费视频| 欧美日本免费一区二区三区| 国产精品每日更新在线播放网址| 蜜桃视频一区二区三区| 一本色道久久综合精品竹菊| 久久精品亚洲国产奇米99| 日韩精品乱码av一区二区| 99精品视频中文字幕| 日本一区二区视频在线观看| 蜜桃视频在线观看一区| 欧美丰满少妇xxxbbb| 一区二区在线电影| 99久久精品国产麻豆演员表| 久久蜜桃一区二区| 国产一区激情在线| 日韩欧美一区在线观看| 日韩国产欧美在线播放| 欧美日韩久久久久久| 欧美激情一二三区| 日韩电影在线观看电影| 日本精品免费观看高清观看| 国产色婷婷亚洲99精品小说| 国产在线一区二区综合免费视频| 精品精品国产高清a毛片牛牛| 午夜激情综合网| 日韩欧美电影一二三| 国产在线视视频有精品| 国产日韩精品一区二区三区| 国产激情精品久久久第一区二区| 国产欧美精品日韩区二区麻豆天美| 国产高清无密码一区二区三区| 国产午夜精品在线观看| 波多野结衣精品在线| 亚洲精品乱码久久久久| 欧美日韩免费视频| 免费在线观看视频一区| 久久亚洲捆绑美女| 99精品欧美一区二区三区综合在线| 亚洲精品视频自拍| 欧美剧情片在线观看| 国产另类ts人妖一区二区| 中文字幕在线不卡一区二区三区| 在线观看亚洲精品视频| 久久国产福利国产秒拍| 亚洲天堂av一区| 欧美一级艳片视频免费观看| 国产乱码精品一区二区三区av| 亚洲精品一二三四区| 精品久久人人做人人爱| 91农村精品一区二区在线| 日韩高清一级片| 中文字幕日本乱码精品影院| 91精品国产91久久综合桃花| 国产jizzjizz一区二区| 日韩精品一级二级| 亚洲美女免费在线| 国产亚洲午夜高清国产拍精品| 精品视频123区在线观看| 高清在线观看日韩| 久久精品99久久久| 亚洲图片有声小说| 日韩精品影音先锋| 91在线看国产| 波多野结衣精品在线| 激情五月婷婷综合网| 香蕉av福利精品导航| 中文字幕日韩av资源站| 久久精品亚洲精品国产欧美| 日韩一二三四区| 91精品国产综合久久福利| 亚洲欧美日韩一区二区三区在线观看| 精品99999| 精品福利一区二区三区免费视频| 欧美一区二区在线观看| 欧美色爱综合网| 日本不卡不码高清免费观看| 亚洲成人激情av| 午夜伦理一区二区| 亚洲第一成人在线| 亚洲高清免费一级二级三级| 亚洲欧美日韩国产手机在线 | 欧美喷水一区二区| 91成人免费网站| 欧美图区在线视频| 欧美性色综合网| 91麻豆精品国产91久久久久久| 欧美日韩一区二区三区在线看| 欧美影片第一页| 欧美日韩成人在线| 欧美大片在线观看一区| 国模无码大尺度一区二区三区| 国内精品伊人久久久久av影院| 精品一区二区国语对白| 国产999精品久久久久久绿帽| 成人免费视频caoporn| 一本一道久久a久久精品| 欧美午夜精品电影| 日韩欧美一区在线观看| 久久久久久久久久美女| 国产精品久久久久久久午夜片 | 日韩欧美不卡一区| 99精品黄色片免费大全| 色婷婷精品久久二区二区蜜臂av | 国产精品电影院| 亚洲午夜成aⅴ人片| 精油按摩中文字幕久久| av色综合久久天堂av综合| 欧美伦理影视网| 国产无一区二区| 午夜精品一区二区三区三上悠亚| 激情久久五月天| 欧美三级视频在线播放| 久久久噜噜噜久久人人看 | 欧美伊人久久大香线蕉综合69|