⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bookdb.java

📁 用hibernate框架实现网上书店
💻 JAVA
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package mypack;import java.util.Collection;import java.util.Iterator;import java.util.List;import org.hibernate.Criteria;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.cfg.Configuration;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.criterion.MatchMode;import org.hibernate.criterion.Order;import org.hibernate.criterion.Restrictions;/** * Hibernate Utility class with a convenient method to get Session Factory object. * * @author Administrator */public class BookDB {    private static final SessionFactory sessionFactory;        static {        try {            // Create the SessionFactory from standard (hibernate.cfg.xml)             // config file.            sessionFactory = new Configuration().configure().buildSessionFactory();        } catch (Throwable ex) {            // Log the exception.             System.err.println("Initial SessionFactory creation failed." + ex);            throw new ExceptionInInitializerError(ex);        }    }    public static SessionFactory getSessionFactory() {        return sessionFactory;    }    public BookDetails getBookDetails(String bookId) {        Session session = getSessionFactory().openSession();        return (BookDetails) session.load(BookDetails.class, bookId);    }    public Iterator serchbooks1(String name)     {        Session session = sessionFactory.openSession();        Query query = session.createQuery("from BookDetails book where book.title like"+"'"+"%"+name+"%"+"'");        Iterator iterator = query.list().iterator();        return iterator;           }     public Iterator serchbooks2(String name)     {        Session session = sessionFactory.openSession();        Query query = session.createQuery("from BookDetails book where book.name like"+"'"+"%"+name+"%"+"'");        Iterator iterator = query.list().iterator();        return iterator;           }      public Iterator serchbooks3(int ye)     {        Session session = sessionFactory.openSession();        Query query = session.createQuery("from BookDetails book where book.year like"+"'"+"%"+ye+"%"+"'");        Iterator iterator = query.list().iterator();        return iterator;           }      public List searchgao(BookDetails condition)      {		                 Session session = sessionFactory.openSession();		Criteria c = 			session.createCriteria(BookDetails.class);		if (null!=condition)                {			if (condition.getTitle()!=null)                        {				c.add(Restrictions.like("title", condition.getTitle(), 								MatchMode.ANYWHERE));			}			if (condition.getName()!=null)                        {				c.add(Restrictions.like("name", condition.getName(),                                         MatchMode.ANYWHERE));			}			if ( String.valueOf(condition.getYear())!=null||condition.getYear()!=0)                        {				c.add(Restrictions.eq("year", condition.getYear()));			}		}		//c.addOrder(Order.asc("year"));		return c.list();	}   public Iterator suoyou(int pageNo, int pageSize)     {        Session session = sessionFactory.openSession();        Query query = session.createQuery("from BookDetails");        int firstResultIndex = pageSize*(pageNo-1);        query.setFirstResult(firstResultIndex);        query.setMaxResults(pageSize);        Iterator iterator = query.list().iterator();        return iterator;           }    public Iterator paixu(int pageNo, int pageSize)    {     Session session = sessionFactory.openSession();     Query query = session.createQuery("from BookDetails book order by book.saleAmount desc");     int firstResultIndex = pageSize*(pageNo-1);        query.setFirstResult(firstResultIndex);        query.setMaxResults(pageSize);     Iterator iterator = query.list().iterator();        return iterator;        }     public Collection getBooks(int pageNo, int pageSize)      {        Session session = getSessionFactory().openSession();        Query query = session.createQuery("From BookDetails");        int firstResultIndex = pageSize*(pageNo-1);        query.setFirstResult(firstResultIndex);        query.setMaxResults(pageSize);        Collection list = query.list();        return list;    }   public int getTotalCount(String hql)   {                Session session = sessionFactory.openSession();				Query query = session.createQuery(hql);		int count = Integer.parseInt(query.uniqueResult().toString());                           return count;   }         public int getNumberOfBooks() {        Session session = getSessionFactory().openSession();        Query query = session.createQuery("From BookDetails");        Collection list = query.list();        return list.size();    }    public void buyBooks(ShoppingCart cart) throws Exception {        Collection items = cart.getItems();        Iterator i = items.iterator();        try {            while (i.hasNext()) {                ShoppingCartItem sci = (ShoppingCartItem) i.next();                BookDetails bd = (BookDetails) sci.getItem();                String id = bd.getBookId();                int quantity = sci.getQuantity();                buyBook(id, quantity);            }        } catch (Exception ex) {            throw ex;        }    }    public void buyBook(String bookId, int quantity) throws Exception {        Session session = getSessionFactory().openSession();        Transaction tx = null;        try {            tx = session.beginTransaction();            BookDetails book = (BookDetails) session.load(BookDetails.class, bookId);            book.setSaleAmount(quantity);            session.update(book);            tx.commit();        } catch (Exception e) {            tx.rollback();        }    }    public Collection getBookType() {        Session session = getSessionFactory().openSession();        Query query = session.createQuery("From Booktype");        Collection list = query.list();        return list;    }    public Booktype getBooktype(String bookId) {        Session session = getSessionFactory().openSession();        Booktype booktype = (Booktype) session.get(Booktype.class, bookId);        return booktype;    }    public User getUser(String uname) {        Session session = getSessionFactory().openSession();        return (User) session.load(User.class, uname);    }    public void add(User user) {        Session session = getSessionFactory().openSession();        Transaction tx = null;        try {            tx = session.beginTransaction();            session.save(user);            tx.commit();        } catch (Exception e) {            tx.rollback();        }    }   public void xiugai(String uname,String pass) {        Session session = getSessionFactory().openSession();        Transaction tx = null;        try {            tx = session.beginTransaction();            User user=(User)session.load(User.class, uname);            user.setUpassword(pass);            session.update(user);            tx.commit();        } catch (Exception e) {            tx.rollback();        }    }   public void chongzhi(String uname,double money)   {     Session session = getSessionFactory().openSession();        Transaction tx = null;        try {            tx = session.beginTransaction();            User user=(User)session.load(User.class, uname);            double mm=user.getMoney();            user.setMoney(mm+money);            session.update(user);            tx.commit();        } catch (Exception e) {            tx.rollback();        }      }  }

⌨️ 快捷键说明

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