chenjinlong

          #

          5月6日收獲(DAO程序設計)

                                                                                                          DAO程序設計
                 DAO是Data Access Object數據訪問接口,數據訪問:顧名思義就是與數據庫打交道。夾在業務邏輯與數據庫資源中間。DAO可以說是一種設計模式,它屬于J2EE設計模式。
                    開發人員用(DAO)這種模式將底層數據訪問操作與高層業務邏輯分離開,一個典型的 DAO 實現有以下組件:

          • 一個 DAO 工廠類
          • 一個 DAO 接口
          • 一個實現了 DAO 接口的具體類
          • 數據傳輸對象(有時稱為值對象)

                POJO與PO的區別:
                POJO:Plain Ordinary Java Objects
                簡單的Java對象(Plain Ordinary Java Objects)(Plain Old Java Object)實際就是普通JavaBeans
            POJO是Plain Ordinary Java Objects的縮寫不錯,但是它通指沒有使用Entity Beans的普通java對象,可以把POJO作為支持業務邏輯的協助類。

            POJO有一些private的參數作為對象的屬性。然后針對每個參數定義了get和set方法作為訪問的接口。例如:

            public class User {

            private long id;
            private String name;

            public void setId(long id) {

            this.id = id;

            }

            public void setName(String name) {

            this.name=name;

            }

            public long getId() {

            return id;

            }

            public String getName() {

            return name;

            }

            }

            POJO對象有時也被稱為Data對象,大量應用于表現現實中的對象。

                PO=persisent object 持久對象;
                 J2EE組件層次:我們都應該遵循
                  客戶端—>表示層—>業務層—>數據層—>數據庫

          public interface DAO{
             public void insert(Person person);
          }
          public class Person{
             private int id;
             priavte String name;
             priavte String password;
             //英文版編程器如下
             //點右鍵  選source選Generate Constructor using Fields構造方法
             public Person(){
          super();
          }
          //點右鍵  選source選Generate using Fields構造一個帶參方法
           public person(Integer id,String name,String password){
           super()
           this.id=id;
           this.name=name;
           this.password=password;
          }
          //點右鍵 選source選Generate Getters and Setters創建javabean
          public int getId() {
            return id;
           }


           public void setId(int id) {
            this.id = id;
           }


           public String getName() {
            return name;
           }


           public void setName(String name) {
            this.name = name;
           }


           public String getPassword() {
            return password;
           }


           public void setPassword(String password) {
            this.password = password;
           }


          }
          public class DataBaseConnection {
           private final String DB="com.microsoft.jdbc.sqlserver.SQLServerDriver";
           private final String URL="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
           private final String SA="sa";
           private final String PASSWORD="";
           public void DataBaseConnection(){
            try {
             Class.forName(DB);
             Connection conn= DriverManager.getConnection(URL,SA,PASSWORD);
            } catch (ClassNotFoundException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
            }
           }
           public Connertion getConnection(){
            return this.conn;
            public viod close(){
             if(conn!=null){
              this.conn.close();
             }
            }
            
           }
          }
          public class DAOImp implements DAO{
           public void inster(Person person){
            String sql="inster into person(id,name,password) values(?,?,?)";
            PreparedStatement pstmt=null;
            DataBaseConnection dbc=null;
            try{
             dbc=new DataBaseconnection();
             pstmt=dbc.getConnection().preparedStatement(sql);
             pstmt.setString(1, person.getId());
             pstmt.setString(2,person.getName());
             pstmt.setString(3, person.getPassword());
             pstmt.executeUpdate();
             
            }catch(Exception e){
             throw new Exception("操作出現異常");
             
            }
           }

          }

           


           

               

          posted @ 2010-05-06 19:25 chenjinlong 閱讀(159) | 評論 (0)編輯 收藏

          僅列出標題
          共2頁: 上一頁 1 2 

          My Links

          Blog Stats

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 遂溪县| 亚东县| 曲水县| 嘉定区| 玉溪市| 肥西县| 舟曲县| 平潭县| 郴州市| 遵化市| 钟祥市| 台中市| 平果县| 华阴市| 沙河市| 油尖旺区| 丰台区| 仁寿县| 宁强县| 宁远县| 宿松县| 永泰县| 安图县| 阳曲县| 清镇市| 黄梅县| 临江市| 娱乐| 晋宁县| 高邮市| 博湖县| 太康县| 宜兰市| 霍林郭勒市| 奉新县| 麻城市| 德州市| 习水县| 鹤山市| 郎溪县| 孙吴县|