chenjinlong

          5月7日收獲(DAO)

                                                                                                               DAO程序設計
                   在用DAO設計模式編寫程序時,根據以下幾個步驟:
                        1、定義接口;
                        2、定義底層JavaBean;
                        3、數據庫連接;
                        4、實現接口;
                        5、工廠;
                        6、主函數;
          根據你的項目,在不同的包里面寫相應的代碼!
                    下面是一個簡單的例子:
                   
          1、定義接口: 

          package com.qhit.s2.t13.dao;

          import java.util.List;

          import com.qhit.s2.t13.javaben.User;

          public interface IUserDAO {
           
           public List<User> findAll();

          }
          2、JavaBean:

          package com.qhit.s2.t13.javaben;

          public class User {
           
           private Integer id;
           private String username;
           private String password;
           public User() {
            super();
           }
           public User(Integer id, String username, String password) {
            super();
            this.id = id;
            this.username = username;
            this.password = password;
           }
           public Integer getId() {
            return id;
           }
           public void setId(Integer id) {
            this.id = id;
           }
           public String getUsername() {
            return username;
           }
           public void setUsername(String username) {
            this.username = username;
           }
           public String getPassword() {
            return password;
           }
           public void setPassword(String password) {
            this.password = password;
           }

          }

          3、數據庫連接:

          package com.qhit.s2.t13.dao.impl;

          import java.sql.DriverManager;
          import java.sql.SQLException;

          public class DBConnection {
           
           private java.sql.Connection conn = null;
           
          // public final static String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
          // public final static String URL = "jdbc:sqlserver://localhost:1433;DataBaseName=Company";
          // public final static String DBUSER = "sa";
          // public final static String DBPASS = "root";
           
           public java.sql.Connection getConnection() {
            try {
             Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
             conn = DriverManager.getConnection(
               "jdbc:sqlserver://localhost:1433;DataBaseName=Company",
               "sa", "root");
             return conn;
            } catch(Exception e) {
             e.printStackTrace();
            }
            return null;
           }
           
           
           public void closeConnection() {
            if(conn != null) {
             try {
              conn.close();
             } catch (SQLException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
             }
            }
           }

          }

          4、實現接口:

          package com.qhit.s2.t13.dao.impl;

          import java.sql.PreparedStatement;
          import java.sql.ResultSet;
          import java.sql.SQLException;
          import java.util.ArrayList;
          import java.util.List;

          import com.qhit.s2.t13.dao.IUserDAO;
          import com.qhit.s2.t13.javaben.User;

          public class UserDAOImpl implements IUserDAO {

           public List<User> findAll() {
            
            List<User> userList = new ArrayList<User>();
            
            String sql = "select * from users";
            DBConnection db = new DBConnection();
            try {
             
          //   System.out.println(db.getConnection());
             
             PreparedStatement ps = db.getConnection().prepareStatement(sql);
             ResultSet rs = ps.executeQuery();
             if(rs != null) {
              while(rs.next()) {
               User user = new User();
               user.setId(rs.getInt("id"));
               user.setUsername(rs.getString("userName"));
               user.setPassword(rs.getString("password"));
               
               userList.add(user);
              }
             }
             
             
             rs.close();
             ps.close();
             db.closeConnection();
             
             return userList;
             
             
            } catch (SQLException e) {
             // TODO Auto-generated catch block
             
             e.printStackTrace();
             return null;
            }
            
            
           }

          }

          5、工廠

          package com.qhit.s2.t13.dao.impl;

          import com.qhit.s2.t13.dao.IUserDAO;

          public class DAOFactory {
           
           public static IUserDAO getUserDAO() {
            return new UserDAOImpl();
           }

          }

          6、主函數:

          package main;

          import java.util.List;

          import com.qhit.s2.t13.dao.impl.DAOFactory;
          import com.qhit.s2.t13.javaben.User;

          public class TestMain {

           public static void main(String[] args) {
            // TODO Auto-generated method stub
            List<User> list = DAOFactory.getUserDAO().findAll();
            
            if(list != null) {
             System.out.println("chenggong");
            } else {
             System.out.println("shipai");
            }
            
           }

          }


           



           


          posted on 2010-05-07 17:48 chenjinlong 閱讀(331) 評論(1)  編輯  收藏

          Feedback

          # re: 5月7日收獲(DAO) 2010-05-26 14:30 Rabbit

          思路是清晰的。  回復  更多評論   



          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          My Links

          Blog Stats

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 宁海县| 南岸区| 常山县| 云阳县| 察哈| 昌平区| 高淳县| 栖霞市| 佛坪县| 龙海市| 托克逊县| 安福县| 盐边县| 息烽县| 曲阳县| 吉安县| 烟台市| 苍南县| 嘉峪关市| 新营市| 辽宁省| 绥棱县| 托克逊县| 芒康县| 靖西县| 探索| 武乡县| 文山县| 宜城市| 定兴县| 吴旗县| 依兰县| 南木林县| 河池市| 三江| 冀州市| 东明县| 江北区| 无极县| 无为县| 安阳市|