?? bookdb.java
字號(hào):
/* * 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(); } } }
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -