SSH整合开发Demo--酒店预订系统-->DAO层设计

DAO层设计的主要任务是创建DAO接口以及创建DAO接口的实现类。
本系统一共定义了4个DAO接口。

AdminDAO.java文件:

package com.integration.dao;
import java.util.List;
import com.integration.entity.Admin;
public interface AdminDAO {
    public void saveAdmin(Admin admin);
    public List<Admin> findAllAdmin();
    public void removeAdmin(Admin admin);
    public void updateAdmin(Admin admin);
    public Admin findAdminById(Integer id);
    public Admin loginAdmin(Admin admin);
}

RoomDAO.java文件:

package com.integration.dao;
import java.util.List;
import com.integration.entity.Room;
public interface RoomDAO {
    public void saveRoom(Room room);
    public List<Room> findAllRoom();        
    public void removeRoom (Room room); 
    public void updateRoom (Room room); 
    public Room findRoomById(Integer id);   
}

OrderDAO.java文件:

package com.integration.dao;
import java.util.List;
import com.integration.entity.Order;
import com.integration.entity.User;
public interface OrderDAO {
    public void saveOrder(Order order);
    public List<Order> findAllOrder();
    public void removeOrder(Order order);
    public void updateOrder(Order order);
    public Order findOrderById(Integer id);
    public List<Order> getUserOrder(User user);
    public Order findOrderByUseridAndRoomid(int userid, int roomid);
}

UserDAO.java文件:

package com.integration.dao;
import java.util.List;
import com.integration.entity.User;
public interface UserDAO {
    public void saveUser(User user);
    public List<User> findAllUsers();
    public void removeUser(User user);
    public void updateUser(User user);
    public User findUserById(Integer id);
    public User loginUser(User user);
}

DAO接口实现类也有4个,分别实现了AdminDAO、HotelDAO、OrderDAO和UserDAO这4个接口。

AdminDAOImpl.java文件:

package com.integration.dao.impl;
import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.integration.entity.Admin;
import com.integration.dao.AdminDAO;
public class AdminDAOImpl extends HibernateDaoSupport implements AdminDAO {
    @SuppressWarnings("unchecked")
    public List<Admin> findAllAdmin() {
        String hql = "from Admin admin order by admin.username desc)";
        return (List<Admin>) this.getHibernateTemplate().find(hql);
    }
    public Admin findAdminById(Integer id) {
        return (Admin) this.getHibernateTemplate().get(Admin.class, id);
    }
    public void removeAdmin(Admin admin) {
        this.getHibernateTemplate().delete(admin);
    }
    public void saveAdmin(Admin admin) {
        this.getHibernateTemplate().save(admin);
    }
    public void updateAdmin(Admin admin) {
        this.getHibernateTemplate().update(admin);
    }
    @SuppressWarnings("unchecked")
    public Admin loginAdmin(Admin admin) {
        String hql = "from Admin admin where admin.username='"
                + admin.getUsername() + "' and admin.password='"
                + admin.getPassword() + "'";
        List<Admin> admins = (List<Admin>) this.getHibernateTemplate()
                .find(hql);
        if (admins.size() > 0) {
            return admins.get(0);
        }
        return null;
    }

}

OrderDAOImpl.java文件:

package com.integration.dao.impl;
import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.integration.entity.Order;
import com.integration.entity.User;
import com.integration.dao.OrderDAO;
public class OrderDAOImpl extends HibernateDaoSupport implements OrderDAO {
    @SuppressWarnings("unchecked")
    public List<Order> findAllOrder() {
        String hql = "from Order ord order by ord.orderid desc";
        return (List<Order>) this.getHibernateTemplate().find(hql);
    }
    public Order findOrderById(Integer id) {
        return (Order) this.getHibernateTemplate().get(Order.class, id);
    }
    public void removeOrder(Order order) {
        this.getHibernateTemplate().delete(order);
    }
    public void saveOrder(Order order) {
        this.getHibernateTemplate().save(order);
    }
    public void updateOrder(Order order) {
        this.getHibernateTemplate().update(order);
    }
    @SuppressWarnings("unchecked")
    public List<Order> getUserOrder(User user) {
        String hql = "from Order ord where ord.userid='" + user.getUserid()
                + "'";
        return (List<Order>) this.getHibernateTemplate().find(hql);
    }
    @SuppressWarnings("unchecked")
    public Order findOrderByUseridAndRoomid(int userid, int roomid) {
        String hql = "from Order ord where ord.userid=" + userid
                + " and ord.roomid=" + roomid + "";
        List<Order> orders = (List<Order>) this.getHibernateTemplate()
                .find(hql);
        return orders == null ? null : orders.get(0);
    }
}

RoomDAOImpl.java文件:

package com.integration.dao.impl;
import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.integration.entity.Room;
import com.integration.dao.RoomDAO;
public class RoomDAOImpl extends HibernateDaoSupport implements RoomDAO {
    @SuppressWarnings("unchecked")
    public List<Room> findAllRoom() {
        String hql = "from Room room order by room.roomid desc";
        return (List<Room>) this.getHibernateTemplate().find(hql);
    }
    public Room findRoomById(Integer id) {
        return (Room) this.getHibernateTemplate().get(Room.class, id);
    }
    public void removeRoom(Room room) {
        this.getHibernateTemplate().delete(room);
    }
    public void saveRoom(Room room) {
        this.getHibernateTemplate().save(room);
    }
    public void updateRoom(Room room) {
        this.getHibernateTemplate().update(room);
    }
}

UserDAOImpl.java文件:

package com.integration.dao.impl;
import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.integration.entity.User;
import com.integration.dao.UserDAO;
public class UserDAOImpl extends HibernateDaoSupport implements UserDAO {
    public void saveUser(User user) {
        this.getHibernateTemplate().save(user);
    }
    @SuppressWarnings("unchecked")
    public List<User> findAllUsers() {
        String hql = "from User user order by user.userid desc";
        return (List<User>) this.getHibernateTemplate().find(hql);
    }
    public void removeUser(User user) {
        this.getHibernateTemplate().delete(user);
    }
    public void updateUser(User user) {
        this.getHibernateTemplate().update(user);
    }
    public User findUserById(Integer id) {
        User user = (User) this.getHibernateTemplate().get(User.class, id);

        return user;
    }
    @SuppressWarnings("unchecked")
    public User loginUser(User user) {
        String hql = "from User user where user.username='"
                + user.getUsername() + "' and user.password='"
                + user.getPassword() + "'";
        List<User> users = (List<User>) this.getHibernateTemplate().find(hql);
        if (users.size() > 0) {
            return users.get(0);
        }
        return null;
    }
}

后面马上继续业务逻辑层设计……

猜你喜欢

转载自blog.csdn.net/hd520superman/article/details/55669566