你好,歡迎到訪My Blog!

網誌清單

編輯 關閉
網誌分類:未分類 |
網誌日期:2009-08-23 15:42
include_dao.php
<?php
    //include all DAO files
    require_once('class/sql/Connection.class.php');
    require_once('class/sql/ConnectionFactory.class.php');
    require_once('class/sql/ConnectionProperty.class.php');
    require_once('class/sql/QueryExecutor.class.php');
    require_once('class/sql/Transaction.class.php');
    require_once('class/sql/SqlQuery.class.php');
    require_once('class/core/ArrayList.class.php');
    require_once('class/dao/DAOFactory.class.php');
    
    require_once('class/dao/TesttableDAO.class.php');
    require_once('class/dto/Testtable.class.php');
    require_once('class/mysql/TesttableMySqlDAO.class.php');

    require_once('class/dao/UserDAO.class.php');
    require_once('class/dto/User.class.php');
    require_once('class/mysql/UserMySqlDAO.class.php');
?>

User.class.php
<?php
    class User{
        var $id;  //object id
        var $userid;
        var $password;
    }
?>

UserDAO.class.php
<?php
// interface of user dao
interface UserDAO{
    public function load($id);
    public function queryAll();
    public function queryAllOrderBy($orderColumn);
    public function delete($id);
    public function insert($user);
    public function update($user);   
    public function clean();
    public function queryByPassword($value);
    public function queryByUserid($value);
    public function deleteByPassword($value);
    public function deleteByUserid($value);
}
?>

UserMySqlDAO.class.php
<?php
// class that operate on table 'user' from mysql follow by userdao interface
class UserMySqlDAO implements UserDAO{
    public function load($id){
        $sql = 'SELECT * FROM user WHERE id = ?';
        $sqlQuery = new SqlQuery($sql);
        $sqlQuery->setNumber($id);
        return $this->getRow($sqlQuery);
    }

    public function queryAll(){
        $sql = 'SELECT * FROM user';
        $sqlQuery = new SqlQuery($sql);
        return $this->getList($sqlQuery);
    }
   
    public function queryAllOrderBy($orderColumn){
        $sql = 'SELECT * FROM user ORDER BY '.$orderColumn;
        $sqlQuery = new SqlQuery($sql);
        return $this->getList($sqlQuery);
    }
   
    public function delete($id){
        $sql = 'DELETE FROM user WHERE id = ?';
        $sqlQuery = new SqlQuery($sql);
        $sqlQuery->setNumber($id);
        return $this->executeUpdate($sqlQuery);
    }
   
    public function insert($user){
        $sql = 'INSERT INTO user (password, userid) VALUES (?, ?)';
        $sqlQuery = new SqlQuery($sql);
       
        $sqlQuery->set($user->password);
        $sqlQuery->set($user->userid);

        $id = $this->executeInsert($sqlQuery);   
        $user->id = $id;
        return $id;
    }
   
    public function update($user){
        $sql = 'UPDATE user SET password = ?, userid = ? WHERE id = ?';
        $sqlQuery = new SqlQuery($sql);
       
        $sqlQuery->set($user->password);
        $sqlQuery->set($user->userid);

        $sqlQuery->setNumber($user->id);
        return $this->executeUpdate($sqlQuery);
    }

    public function clean(){
        $sql = 'TRUNCATE TABLE user';
        $sqlQuery = new SqlQuery($sql);
        return $this->executeUpdate($sqlQuery);
    }

    public function queryByPassword($value){
        $sql = 'SELECT * FROM user WHERE password = ?';
        $sqlQuery = new SqlQuery($sql);
        $sqlQuery->set($value);
        return $this->getList($sqlQuery);
    }

    public function queryByUserid($value){
        $sql = 'SELECT * FROM user WHERE userid = ?';
        $sqlQuery = new SqlQuery($sql);
        $sqlQuery->set($value);
        return $this->getList($sqlQuery);
    }

    public function deleteByPassword($value){
        $sql = 'DELETE FROM user WHERE password = ?';
        $sqlQuery = new SqlQuery($sql);
        $sqlQuery->set($value);
        return $this->executeUpdate($sqlQuery);
    }

    public function deleteByUserid($value){
        $sql = 'DELETE FROM user WHERE userid = ?';
        $sqlQuery = new SqlQuery($sql);
        $sqlQuery->set($value);
        return $this->executeUpdate($sqlQuery);
    }
   
    protected function readRow($row){
        $user = new User();
       
        $user->id = $row['id'];
        $user->password = $row['password'];
        $user->userid = $row['userid'];

        return $user;
    }
   
    protected function getList($sqlQuery){
        $tab = QueryExecutor::execute($sqlQuery);
        $ret = array();
        for($i=0;$i<count($tab);$i++){
            $ret[$i] = $this->readRow($tab[$i]);
        }
        return $ret;
    }
   
    protected function getRow($sqlQuery){
        $tab = QueryExecutor::execute($sqlQuery);
        return $this->readRow($tab[0]);       
    }
   
    protected function execute($sqlQuery){
        return QueryExecutor::execute($sqlQuery);
    }
   
    protected function executeUpdate($sqlQuery){
        return QueryExecutor::executeUpdate($sqlQuery);
    }

    protected function executeInsert($sqlQuery){
        return QueryExecutor::executeInsert($sqlQuery);
    }
}
?>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
testuser.php
<?php
    require_once("include_dao.php");

    $userdao = new UserMysqlDAO();

    $user = new User();
    $user->userid = "000218212";
    $user->password="cdeaff";

    $oid = $userdao->insert($user);  //insert user object to mysql db and return object id

    $usr1 = $userdao->load($oid); //get a user by object id

    echo $usr1->id." ".$usr1->userid." ".$usr1->password;  //display userid and password
?>

引用(0)
  • 網誌分類:未分類 |
    網誌日期:2009-08-20 02:35
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~: ajaxTest.html<html><head><title>My ajax test</title><script type='text/javascript' src=&...
    回應(0) | 引用(0)

Blog圖片

編輯 關閉

Blog圖片

暫未有圖片

我的訂閱

編輯 關閉

我的訂閱

你沒有任何訂閱

月曆

編輯 關閉
2009
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30  

網誌分類

編輯 關閉

網誌分類

最新網誌

編輯 關閉

最新回應

編輯 關閉

最新回應

沒有新回應

統計資料

編輯 關閉

統計資料

  • 昨日人次:1
  • 累積人次:5
  • 今日瀏覽:0
  • 累積瀏覽:27
  • 網誌:2
  • 圖片:0
  • 回應:0

訂閱RSS摘要

編輯 關閉

更新日期

編輯 關閉

更新日期

2009-08-23 15:57

BLOG 搜尋

編輯 關閉

BLOG 搜尋


 

R H
G S
B V

#