hibrdaoimpl.java

来自「一个小型的购物商店」· Java 代码 · 共 116 行

JAVA
116
字号
/*
 * HibrImpl.java
 *
 * Created on 2006年9月24日, 上午8:30
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package com.shopping.dao;

import com.shopping.model.*;
import com.shopping.resource.HiberSession;
import org.hibernate.*;
import java.util.*;

/**
 * 
 * @author 曹昊
 */
public class HibrDaoImpl implements ShoppingCartDao
{

    public Map selectAllProducts()
    {
        Session sess = HiberSession.getSession();
        if (sess == null)
            return null;
        Transaction tran = sess.beginTransaction();
        Query query = sess.createQuery("from Product p");
        List l = query.list();
        tran.commit();
        sess.close();

        Iterator it = l.iterator();
        Map<String, Product> map = new HashMap<String, Product>();
        while (it.hasNext())
        {
            Product product = (Product) it.next();
            map.put(product.getId() + "", product);
        }
        return map;
    }

    public Order generateOrder(User user, Cart cart)
    {
        Session sess = HiberSession.getSession();
        if (sess == null)
            return null;
        Transaction tran = sess.beginTransaction();
        Order order = new Order();
        Map<String, Item> items = cart.getItems();
        Set<Item> values = new HashSet<Item>(items.values());
        order.setItems(values);
        order.setUser(user);
        order.setStatus(8);
        order.setCost(cart.getCost());

        Iterator it = values.iterator();
        while (it.hasNext())
        {
            Item item = (Item) it.next();
            item.setOrder(order);
        }

        sess.save(order);
        tran.commit();
        sess.close();
        return order;
    }

    public boolean validateLogin(String name, String password)
    {
        Session sess = HiberSession.getSession();
        if (sess == null)
            return false;
        Transaction tran = sess.beginTransaction();
        Query query = sess
                .createQuery("from User where name=:name and password=:password");
        query.setString("name", name);
        query.setString("password", password);
        List list = query.list();
        tran.commit();
        sess.close();
        
        Iterator it = list.iterator();
        if (it.hasNext())
        {
            return true;
        }
        return false;
    }

    public User queryUserInfo(String name)
    {
        Session sess = HiberSession.getSession();
        if (sess == null)
            return null;
        Transaction tran = sess.beginTransaction();
        Query query = sess.createQuery("from User u where u.name=:name");
        query.setString("name", name);
        List l = query.list();
        tran.commit();
        sess.close();
        
        Iterator it = l.iterator();
        if (it.hasNext())
        {
            User user = (User) it.next();
            return user;
        }
        return null;
    }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?