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

📄 bookdb.java

📁 实现在线书店的基本功能 应用了hibernate+jsp 技术采用了mvc三层设计模式
💻 JAVA
字号:
package mypack;import java.util.ArrayList;import java.util.Collection;import java.util.Collections;import java.util.Iterator;import java.util.List;import java.util.logging.Level;import java.util.logging.Logger;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.cfg.Configuration;import org.hibernate.SessionFactory;import org.hibernate.Transaction;/** * 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 int getNumberOfBooks()    {        ArrayList books=new ArrayList();        Query q=getOpenSession().createQuery("from BookDetails");        books=(ArrayList)q.list();        return books.size();    }    public Collection getBooks()    {                  Query q=getOpenSession().createQuery("from BookDetails");        List list=q.list();        return list;                    }           public BookDetails getBookDetails(String bookId)    {          BookDetails bd=null;        try{               bd=(BookDetails)getOpenSession().load(BookDetails.class, bookId);        }catch(Exception e)        {            return null;        }        if(bd!=null)            return  bd;        else            return null;                }    public BookDetails getBookByTitle(String title)    {          BookDetails bd=null;      try {         Session s=getOpenSession();          Query query=s.createQuery("from BookDetails as bd where bd.title like:title");          query.setString("title", title);          bd=(BookDetails)query.uniqueResult();          s.close();         } catch (Exception e) {          }          if(bd!=null)              return bd;          else              return null;                           }     public BookDetails getBookByName(String name)    {        BookDetails bd=null;      try {          Session s=getOpenSession();          Query query=s.createQuery("from BookDetails as bd where bd.name like:name");          query.setString("name", name);          bd=(BookDetails)query.uniqueResult();          s.close();         } catch (Exception e) {          }          if(bd!=null)              return bd;          else              return null;                          }    public Session getOpenSession()    {        return getSessionFactory().openSession();    }    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 s=getOpenSession();         int oldSaleAmount=0;         Transaction tx=s.beginTransaction();         try         {             /*BookDetails book=(BookDetails) s.get(BookDetails.class, bookId);             oldSaleAmount=book.getSaleAmount();             book.setSaleAmount(oldSaleAmount+quantity);                          javax.swing.JOptionPane.showMessageDialog(null, book.getName());             s.update(book);             javax.swing.JOptionPane.showMessageDialog(null, book.getName());*/                          BookDetails book=(BookDetails) s.get(BookDetails.class, bookId);             oldSaleAmount=book.getSaleAmount();             Query query=s.createQuery("update BookDetails as bd set bd.saleAmount=? where bd.bookId=?");             query.setInteger(0, quantity+oldSaleAmount);             query.setString(1, bookId);             query.executeUpdate();                                                                           tx.commit();                      }catch(Exception ex){         tx.rollback();         throw ex;         }finally{           s.close();         }                                   }     public Collection getBookTypeSet()     {         Session s=getSessionFactory().openSession();         Query q=s.createQuery("from Booktype");         List list=q.list();         return list;              }     public Booktype getBooktype(String id)     {            Session session1=getSessionFactory().openSession();     //Query query=session1.createQuery("from Booktype as bt where bt.id=?");     //query.setParameter(0, id);     //Booktype bt=(Booktype) query.uniqueResult();     Booktype bt=(Booktype) session1.load(Booktype.class, id);      if(bt!=null)          return bt;      else                   return null;     }     public Collection getBooksSort()     {         Session s=getSessionFactory().openSession();         Query q=s.createQuery("from BookDetails as bd order by bd.saleAmount desc");         List list=q.list();         return list;                                }}     

⌨️ 快捷键说明

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