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

📄 dbmanager.java

📁 学JAVA时
💻 JAVA
字号:
package com.zhang.struts.dao;

import java.util.*;

import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Query;
import net.sf.hibernate.Session;
import net.sf.hibernate.Transaction;
//import net.sf.hibernate.Transaction;

import com.zhang.struts.po.*;
import com.zhang.struts.util.ShoppingCart;
import com.zhang.struts.util.ShoppingCartItem;

public class DBManager {

	//查询书籍
	public List searchBook(String keyName){
		
		
		try {
			Session session = HibernateSessionFactory.currentSession();
			List bookList = null;
			
			if(keyName.equals("")||keyName.trim().length()==0){			
   			    Query q = session.createQuery("from Book");		
				bookList = q.list();		
			}else{
				
				Query q = session.createQuery("from Book b where b.name like '%"+keyName+"%'");		
				bookList = q.list();
				
			}
			return bookList;

		} catch (HibernateException e) {
			
			e.printStackTrace();
			return null;
		}	
	 }
	
	//通过id 查一本书
	public Book searchBookById(String id){
			try {
				Session session = HibernateSessionFactory.currentSession();			
				Query q = session.createQuery("from Book b where b.id="+new Integer(id).intValue());		
				List book = q.list();
				return (Book)book.iterator().next();
			} catch (HibernateException e) {		
				e.printStackTrace();
				return null;
			}	
	 }
	
	
	//插入定单到DB 
	public void insertOrder(ShoppingCart cart){
			Transaction tr=null;
			try {
				Session session = HibernateSessionFactory.currentSession();
				tr=session.beginTransaction();
				
				//得到购物车的东西
				Collection c = cart.getItems();
			    Iterator it = c.iterator();
			    
			    
	            
			    //得到购物车中书的总价
			    Double price = new Double(cart.getTotal());
			    
                //一 orders表 一对多 orderItem表 
			    Orders orders = new Orders();
			    orders.setTotalprice(price);
				orders.setOrderitemSet(new HashSet());
				
			    
			    
			    //取出购物车中的东西
			    while(it.hasNext()){
			    	//取出书
			    	ShoppingCartItem sci = (ShoppingCartItem)it.next();
				    Book b = (Book)sci.getItem();
				    //书的数量
				    Integer quantity=new Integer(sci.getQuantity());
				     		    
				   
                    //多 orders表 一对多 orderItem表 
					Orderitem orderitem=new Orderitem();
					
					orderitem.setQuantity(quantity);
					orderitem.setOrders(orders);//orders表
					orderitem.setBook(b);//book表
					
					orders.getOrderitemSet().add(orderitem);
  
			    }		
			    session.save(orders);
				tr.commit();
			} catch (HibernateException e) {
				try {
					tr.rollback();
				} catch (HibernateException e1) {
					e1.printStackTrace();
				}
				e.printStackTrace();
			}					
	}
}

⌨️ 快捷键说明

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