<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    數(shù)據(jù)加載中……
    Facade模式的一個(gè)典型應(yīng)用--數(shù)據(jù)庫(kù)JDBC的應(yīng)用
    Facade模式的定義: 為子系統(tǒng)中的一組接口提供一個(gè)一致的界面.Facade一個(gè)典型應(yīng)用就是數(shù)據(jù)庫(kù)JDBC的應(yīng)用,如下例對(duì)數(shù)據(jù)庫(kù)的操作:
    說(shuō)明:這是在網(wǎng)上的一篇文章中看到的列子,上面沒(méi)有寫(xiě)全,我在這里補(bǔ)上了,沒(méi)有用到接口。

    package com.pattern.structural.facade;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    /*
     * 外觀模式的主要用途就是為子系統(tǒng)的復(fù)雜處理過(guò)程提供方便的調(diào)用方法,
     * 使得子系統(tǒng)更加容易被使用。
     * Facade對(duì)象通常屬于Singleton模式。
    */
    public class Mysql {
       
        private static Connection conn=null;
        private static PreparedStatement prep=null;

        public Mysql(String sql) {
            try {
                Class.forName("com.mysql.jdbc.Driver").newInstance();
                conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test","root","");
                prep = conn.prepareStatement(sql);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        public void setString(int index, String parString) {
            try {
                prep.setString(index, parString);
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        public ResultSet executeQuery() {
            try {
                return prep.executeQuery();
            } catch (SQLException e) {
                e.printStackTrace();
                return null;
            }
        }

        public void close() {
            try {
                conn.close();
                prep.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }


    package com.pattern.structural.facade;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;

    public class DBCompare {

        public void getResultSet(String sql) {
    //        String sql = "SELECT * FROM bulletin WHERE id = ?";
            Mysql mysql = new Mysql(sql);
            try {
                mysql.setString(1, "4");
                ResultSet rset = mysql.executeQuery();
                while (rset.next()) {
                    System.out.println(rset.getString("id"));
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                mysql.close();
                mysql = null;
            }
        }
    }


    package com.pattern.structural.facade;

    import java.sql.ResultSet;

    public class FacadeTest {

        public static void main(String[] args) {
           
            Mysql mysql = new Mysql("SELECT * FROM bulletin");
            try {
                ResultSet rset = mysql.executeQuery();
                while (rset.next()) {
                    System.out.println(rset.getString("id"));
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                mysql.close();
                mysql = null;
            }
           
        }

    }

    posted on 2008-02-28 15:27 java flex 結(jié)合 閱讀(2689) 評(píng)論(5)  編輯  收藏 所屬分類: patternmysql

    評(píng)論

    # re: Facade模式的一個(gè)典型應(yīng)用--數(shù)據(jù)庫(kù)JDBC的應(yīng)用 2008-02-29 10:38 香草的天空

    你這個(gè)其實(shí)叫Dao

    不素Facade

    # re: Facade模式的一個(gè)典型應(yīng)用--數(shù)據(jù)庫(kù)JDBC的應(yīng)用 2008-03-02 14:44 xifu

    Facade的本意是為不同的操作通過(guò)封裝提供統(tǒng)一的、一致的操作方法

    # re: Facade模式的一個(gè)典型應(yīng)用--數(shù)據(jù)庫(kù)JDBC的應(yīng)用 2008-05-22 12:54  .

    什么跟什么 啊。。。。。。。。。。。。。。。

    # re: Facade模式的一個(gè)典型應(yīng)用--數(shù)據(jù)庫(kù)JDBC的應(yīng)用 2010-06-17 10:09 facade

    你不懂

    # re: Facade模式的一個(gè)典型應(yīng)用--數(shù)據(jù)庫(kù)JDBC的應(yīng)用 2012-06-07 16:06 kensunhu

    認(rèn)為Mysql類是個(gè)facade,因?yàn)榉隙x:“Provide a unified interface to a set of interfaces in a subsystem. Facade Pattern defines a higher-level interface that makes the subsystem easier to use.”

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产精品久久亚洲一区二区| 亚洲视频精品在线| 精品国产亚洲第一区二区三区| 成人AV免费网址在线观看| 亚洲国产精品美女| 久久久久久国产a免费观看黄色大片 | 91手机看片国产永久免费| 久久久久亚洲AV无码麻豆| 亚洲午夜久久久久久久久电影网| 久久精品国产99精品国产亚洲性色| 亚洲a无码综合a国产av中文| 成人特黄a级毛片免费视频| 亚洲另类自拍丝袜第1页| 日韩不卡免费视频| 亚洲色丰满少妇高潮18p| 欧洲精品免费一区二区三区| 亚洲变态另类一区二区三区| 免费A级毛片在线播放不收费| 国产97视频人人做人人爱免费| 亚洲性猛交XXXX| 91香蕉在线观看免费高清| 亚洲性69影院在线观看| 成人一a毛片免费视频| 美景之屋4在线未删减免费 | 国产av无码专区亚洲av果冻传媒| a级毛片免费观看视频| 亚洲网站视频在线观看| 在线看片免费人成视频久网下载| 亚洲精品一品区二品区三品区 | 亚洲一区二区免费视频| 亚洲AV无码AV男人的天堂不卡| 亚洲爽爽一区二区三区| 久久精品视频免费看| 亚洲成在人线aⅴ免费毛片| 国产亚洲美日韩AV中文字幕无码成人 | 亚洲精品国产精品乱码视色| 99re在线视频免费观看| 妇女自拍偷自拍亚洲精品| 亚洲AV无码成人精品区蜜桃| 韩国免费三片在线视频| 国产免费拔擦拔擦8X高清在线人|